MacOSX上的apxs在体系结构方面存在问题

时间:2010-10-15 07:56:10

标签: mysql apache macos apxs2

我正在尝试在我老化的Macbook Pro上设置一个与我的Linux EC2生产环境相匹配的开发环境。我现在在家里,只需要为apache工作获取mod_auth_mysql插件。经过几个小时的谷歌搜索,修补和挠头,我想我差不多了,但我发现了一些我在网上找不到的东西已经能够解决的问题。

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位平台上?我不完全确定。我尝试在apxs上强制使用env ARCHFLAGS和-D arch进行32位构建,但无济于事。

FWIW,我也尝试了mod_auth_mysql-3.0.0,并且或多或少地得到了相同的结果。

或者,是否有更现代的方式来对Apache中的mysql进行身份验证?我没有找到任何其他东西,但这个模块在5年内没有得到任何爱,而且我不得不应用一些我发现分散在网上的补丁甚至可以达到这个目的。

1 个答案:

答案 0 :(得分:1)

首先,使用file /usr/local/mysql/lib/libmysqlclient.dylib等检查您的库支持的体系结构。一旦您知道,我认为您可以通过添加-Wc,"-arch i386" -Wl,"-arch i386"

之类的标记来控制apxs构建的内容