ruby-on-rails – mysql2 gem无法构建原生扩展
我们的实习生的计算机在安装
mysql2 gem时遇到问题.我们刚刚将他的计算机从OS X 10.6升级到10.8(Mountain Lion).我尝试通过自制软件和64位DMG安装程序安装mysql.我也尝试使用符号链接到开发工具(如此处指出:
Not able to install some gems after mountain lion upgrade).我们安装了Xcode(4.4)并安装了命令行工具.我们在安装命令行工具后尝试重新启动.
这是来自?/ .bashrc的PATH声明: PATH=/usr/local/bin:$PATH:$HOME/.rvm/bin:/usr/local/mysql/bin # Add RVM to PATH for scripting 符号链接: Diego-Blantons-MacBook-Pro-3:~ lmrunner07$sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2 Password: 尝试安装gem: Diego-Blantons-MacBook-Pro-3:~ lmrunner07$gem install mysql2 Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb checking for rb_thread_blocking_region()... yes checking for rb_wait_for_single_fd()... yes checking for mysql.h... yes checking for errmsg.h... yes checking for mysqld_error.h... yes creating Makefile make compiling client.c In file included from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby.h:32,from ./mysql2_ext.h:8,from client.c:1: /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:105: error: size of array ‘ruby_check_sizeof_long’ is negative /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:109: error: size of array ‘ruby_check_sizeof_voidp’ is negative In file included from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/intern.h:34,from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:1382,from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby.h:32,from client.c:1: /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/st.h:67: error: size of array ‘st_check_for_sizeof_st_index_t’ is negative client.c: In function ‘rb_raise_mysql2_error’: client.c:98: warning: ISO C90 forbids mixed declarations and code client.c: In function ‘rb_mysql_client_socket’: client.c:590: warning: ISO C90 forbids mixed declarations and code make: *** [client.o] Error 1 Gem files will remain installed in /Users/lmrunner07/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11 for inspection. Results logged to /Users/lmrunner07/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/ext/mysql2/gem_make.out 我已经删除了自制软件安装的mysql以及启动代理.另外rm -rf gem目录(Users / lmrunner07 / .rvm / gems / ruby??-1.9.3-p194 / gems / mysql2-0.3.11) 解决方法
我解决了这个问题:
>安装homebrew ruby??<(curl -fsSk https://raw.github.com/mxcl/homebrew/go) 注意:当我尝试构建时,我遇到了库问题,未加载库:libmysqlclient.18.dylib,它是通过运行sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib修复的/libmysqlclient.18.dylib(如果遇到同样的问题,请参阅Library not loaded: libmysqlclient.16.dylib error when trying to run ‘rails server’ on OS X 10.6 with mysql2 gem.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |