[英]ARCHFLAGS not taking command (MySQL 64-bit ruby gem installation issues on Snow Leopard)
我以前从未使用过ARCHFLAGS命令,现在已经不知所措了。
我正在努力让MySQL gem在Snow Leopard上以64位工作。
我正在做的是此命令:
sudo env ARCHFLAGS='-arch x86_64' gem install --verbose --no-rdoc --no-ri mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
输出看起来像这样:
.....
make
gcc -I. -I. -I/usr/local/lib/ruby/1.8/universal-darwin8.0 -I. -DHAVE_RB_THREAD_START_TIMER -DHAVE_MYSQL_H -I/usr/local/mysql/include/mysql -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL -fno-common -g -O2 -fno-common -pipe -fno-common -arch i386 -c mysql.c
cc -dynamic -bundle -undefined suppress -flat_namespace -arch i386 -L"/usr/local/lib" -o mysql_api.bundle mysql.o -lruby -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -lpthread -ldl -lobjc
ld: warning: in /usr/local/mysql/lib/mysql/libmysqlclient.dylib, file is not of required architecture
make install
/usr/bin/install -c -m 0755 mysql_api.bundle /usr/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/lib
Successfully installed mysql-2.8.1
1 gem installed
我看到的是,即使我告诉我,它也专门指定了-arch i386。 紧接着,它给我有关文件不是必需体系结构的警告,因为不是。 它是64位。
运行file命令可以得到以下信息:
file /usr/local/mysql/lib/mysql/libmysqlclient.dylib
/usr/local/mysql/lib/mysql/libmysqlclient.dylib: Mach-O 64-bit dynamically linked shared library x86_64
因此,这当然不是必需的体系结构。 似乎gem install忽略了我的ARCHFLAGS命令。 知道为什么会这样吗? 就像我说的那样,我对这些东西不屑一顾:P
非常感谢! -凯文
这是我所做的:
export ARCHFLAGS =“-arch x86_64”
sudo gem install --no-rdoc --no-ri mysql -v 2.7---with-mysql-config = / usr / local / mysql / bin / mysql_config
我指定了2.7版本,因为后续版本似乎存在问题。 我会尝试使用最新版本,然后先查看它是否有效。
您是否在Snow Leopard上的Rails + MySQL上查看了评论
有关设置和安装的许多讨论可能会有所帮助。 我遵循在Snow Leopard上构建MySQL的建议,从源代码构建MySQL二进制文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.