Я пытаюсь настроить среду разработки на моем стареющем Macbook Pro, который соответствует моей рабочей среде Linux EC2. Теперь я нахожусь на домашнем участке, нужно только получить плагин mod_auth_mysql для работы apache. После нескольких часов поиска в Интернете и исправления и царапин на голове, я думаю, что я почти там, но я ударил то, что ничего, что я нашел в Интернете, не смог решить.
nathan@ichigo:/usr/local/mod_auth_mysql-2.9.0$ sudo apxs -c -L/usr/local/mysql/lib -I/usr/local/mysql/include/ -lmysqlclient -lm -lz mod_auth_mysql.c
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -I/usr/local/include -I/usr/include/apache2 -I/usr/include/apr-1 -I/usr/include/apr-1 -I/usr/local/mysql/include/ -c -o mod_auth_mysql.lo mod_auth_mysql.c && touch mod_auth_mysql.slo
/usr/share/apr-1/build-1/libtool --silent --mode=link gcc -o mod_auth_mysql.la -L/usr/local/mysql/lib -lmysqlclient -lm -lz -rpath /usr/libexec/apache2 -module -avoid-version mod_auth_mysql.lo
ld: warning: in /usr/local/mysql/lib/libmysqlclient.dylib, file is not of required architecture
ld: warning: in /usr/local/mysql/lib/libz.a, file is not of required architecture
warning: no debug symbols in executable (-arch x86_64)
Я думаю, что это жалуется, потому что он пытается построить для 64-битного, но я на 32-битной платформе? Я не совсем уверен. Я попытался заставить 32-битную сборку с env ARCHFLAGS и -D arch на apxs, но безрезультатно.
FWIW, я также попробовал mod_auth_mysql-3.0.0 и получил более или менее тот же результат.
Альтернативно, существует ли более современный способ auth против mysql в Apache? Я больше ничего не нашел, но этот модуль не получил никакой любви за хорошие 5 лет, и мне пришлось применить некоторые исправления, которые я нашел разбросанными по сети, даже чтобы зайти так далеко.
Во-первых, проверьте, какие архитектуры поддерживаются вашими библиотеками с помощью file /usr/local/mysql/lib/libmysqlclient.dylib
и т.д. Как только вы это знаете, я думаю, что вы можете контролировать, для чего создаются apxs, добавив флаги, такие как -Wc,"-arch i386" -Wl,"-arch i386"