我們實習生的電腦在安裝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)並安裝了命令行工具。我們在安裝命令行工具後嘗試重新啓動。mysql2 gem無法構建原生擴展
這是~/.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:
嘗試安裝寶石:
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 ./mysql2_ext.h:8,
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
寶石目錄(用戶/ lmrunner07/.rvm /寶石/紅寶石1.9.3-P194 /寶石/ mysql2-0.3.11)
您可以驗證您的Xcode 4.4版本是重新發布兩個獅子和山獅? – davidcelis 2012-07-27 18:21:06
對不起,您想要我檢查什麼? – 2012-07-27 18:36:38
當Mountain Lion發佈時,他們更新了應用商店中的Xcode 4.4,使其成爲兼容Lion和Mountain Lion的版本。如果你沒有重新安裝Xcode,很可能你的版本只與以前版本的OS X兼容。 – davidcelis 2012-07-27 18:43:53