2011-04-20 134 views
2

我奮力安裝mysql2寶石0.2.7,這是輸出我得到:Mysql2 Gem安裝出錯。 (Windows 7)中

C:/RailsInstaller/Ruby192/bin/ruby.exe extconf.rb --with-mysql-dir=X: --with-mysql-lib=X:\lib 

--no-rdoc --no-ri 
checking for rb_thread_blocking_region()... yes 
checking for main() in -llibmysql... yes 
checking for mysql.h... yes 
checking for errmsg.h... yes 
checking for mysqld_error.h... yes 
creating Makefile 

make 
gcc -I. -IC:/RailsInstaller/Ruby192/include/ruby-1.9.1/i386-mingw32 -I/C/RailsInstaller/Ruby192/include/ruby-1.9.1/ruby/backward -I/C/RailsInstaller/Ruby192/include/ruby-1.9.1 -I. -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -IX:/include -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -Wall -funroll-loops -o client.o -c client.c 
client.c: In function 'rb_mysql_client_query': 
client.c:361:11: warning: unused variable 'r' 
gcc -I. -IC:/RailsInstaller/Ruby192/include/ruby-1.9.1/i386-mingw32 -I/C/RailsInstaller/Ruby192/include/ruby-1.9.1/ruby/backward -I/C/RailsInstaller/Ruby192/include/ruby-1.9.1 -I. -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -IX:/include -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -Wall -funroll-loops -o mysql2_ext.o -c mysql2_ext.c 
gcc -I. -IC:/RailsInstaller/Ruby192/include/ruby-1.9.1/i386-mingw32 -I/C/RailsInstaller/Ruby192/include/ruby-1.9.1/ruby/backward -I/C/RailsInstaller/Ruby192/include/ruby-1.9.1 -I. -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -IX:/include -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -Wall -funroll-loops -o result.o -c result.c 
result.c: In function 'rb_mysql_result_fetch_fields': 
result.c:318:35: warning: comparison between signed and unsigned integer expressions 
gcc -shared -s -o mysql2.so client.o mysql2_ext.o result.o -L. -LC:/RailsInstaller/Ruby192/lib -LX:\lib -LX:/lib -L. -Wl,--enable-auto-image-base,--enable-auto-import mysql2-i386-mingw32.def -lmsvcrt-ruby191 -llibmysql -lshell32 -lws2_32 
client.o: In function `nogvl_connect': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:111: undefined reference to `[email protected]' 
client.o: In function `nogvl_init': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:102: undefined reference to `[email protected]' 
client.o: In function `set_ssl_options': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:612: undefined reference to `[email protected]' 
client.o: In function `set_charset_name': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:600: undefined reference to `[email protected]' 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:602: undefined reference to `[email protected]' 
client.o: In function `set_connect_timeout': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:571: undefined reference to `[email protected]' 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:573: undefined reference to `[email protected]' 
client.o: In function `set_reconnect': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:554: undefined reference to `[email protected]' 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:556: undefined reference to `[email protected]' 
client.o: In function `nogvl_ping': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:530: undefined reference to `[email protected]' 
client.o: In function `rb_mysql_client_thread_id': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:522: undefined reference to `[email protected]' 
client.o: In function `rb_mysql_client_last_id': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:502: undefined reference to `[email protected]' 
client.o: In function `nogvl_store_result': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:242: undefined reference to `[email protected]' 
client.o: In function `nogvl_read_query_result': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:234: undefined reference to `[email protected]' 
client.o: In function `rb_mysql_client_server_info': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:481: undefined reference to `[email protected]' 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:482: undefined reference to `[email protected]' 
client.o: In function `rb_mysql_client_info': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:454: undefined reference to `[email protected]' 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:455: undefined reference to `[email protected]' 
client.o: In function `rb_mysql_client_escape': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:422: undefined reference to `[email protected]' 
client.o: In function `nogvl_send_query': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:222: undefined reference to `[email protected]' 
client.o: In function `nogvl_close': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:148: undefined reference to `[email protected]' 
client.o: In function `rb_raise_mysql2_error': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:77: undefined reference to `[email protected]' 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:78: undefined reference to `[email protected]' 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:92: undefined reference to `[email protected]' 
client.o: In function `rb_mysql_client_affected_rows': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:510: undefined reference to `[email protected]' 
client.o: In function `rb_mysql_client_async_result': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:266: undefined reference to `[email protected]' 
client.o: In function `nogvl_close': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:148: undefined reference to `[email protected]' 
client.o: In function `init_mysql2_client': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/client.c:640: undefined reference to `[email protected]' 
result.o: In function `rb_mysql_result_fetch_field': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/result.c:82: undefined reference to `[email protected]' 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/result.c:70: undefined reference to `[email protected]' 
result.o: In function `rb_mysql_result_fetch_fields': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/result.c:314: undefined reference to `[email protected]' 
result.o: In function `nogvl_fetch_row': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/result.c:61: undefined reference to `[email protected]' 
result.o: In function `rb_mysql_result_free_result': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/result.c:40: undefined reference to `[email protected]' 
result.o: In function `rb_mysql_result_fetch_row': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/result.c:133: undefined reference to `[email protected]' 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/result.c:134: undefined reference to `[email protected]' 
result.o: In function `rb_mysql_result_free_result': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/result.c:40: undefined reference to `[email protected]' 
result.o: In function `rb_mysql_result_fetch_row': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/result.c:136: undefined reference to `[email protected]' 
result.o: In function `rb_mysql_result_each': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/result.c:381: undefined reference to `[email protected]' 
result.o: In function `rb_mysql_result_free_result': 
C:\RailsInstaller\Ruby192\lib\ruby\gems\1.9.1\gems\mysql2-0.2.7\ext\mysql2/result.c:40: undefined reference to `[email protected]' 
collect2: ld returned 1 exit status 
make: *** [mysql2.so] Error 1 

任何想法?

回答

0

在rorguide詳細對我也沒有工作的過程。 我已經解決了將mysql社區服務器zip文件(win x86)中的libmysql.lib文件直接複製到gem的ext \ mysql2目錄中。這似乎使它正確地找到lib。 mysql2 gem的0.3.2版本似乎在查詢困難時掛起,但來自github(https://github.com/brianmario/mysql2)的master分支已修復它。

1

我最終建設爲直Ruby擴展:

subst X: "C:\Data\MySQL" 
gem install mysql2 --platform=ruby -- -with-mysql-dir=X: --with-mysql-lib=X:\lib --with-mysql-include=X:\include 

我需要單獨的include指令,因爲我使用MySQL 5.5(和看起來像目錄結構已經改變後5.1)