2011-12-12 16 views
7

मैं जबकि डेबियन निचोड़ पर mysql2 मणि ​​स्थापित करने के लिए इस "लोकप्रिय" त्रुटि मिली:त्रुटि स्थापित करने mysql2 मणि ​​निचोड़

gem install mysql2 
Building native extensions. This could take a while... 
ERROR: Error installing mysql2: 
    ERROR: Failed to build gem native extension. 

     /usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... yes 
checking for rb_wait_for_single_fd()... no 
checking for mysql.h... yes 
checking for errmsg.h... yes 
checking for mysqld_error.h... yes 
creating Makefile 

make 
gcc -I. -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/i686-linux -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -D_FILE_OFFSET_BITS=64 -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC -Wall -funroll-loops -o client.o -c client.c 
gcc -I. -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/i686-linux -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -D_FILE_OFFSET_BITS=64 -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC -Wall -funroll-loops -o mysql2_ext.o -c mysql2_ext.c 
gcc -I. -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/i686-linux -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -D_FILE_OFFSET_BITS=64 -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC -Wall -funroll-loops -o result.o -c result.c 
result.c: In function ‘rb_mysql_result_fetch_fields’: 
result.c:381: warning: comparison between signed and unsigned integer expressions 
gcc -shared -o mysql2.so client.o mysql2_ext.o result.o -L. -L/usr/local/rvm/rubies/ruby-1.9.2-p290/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.2-p290/lib -L. -rdynamic -Wl,-export-dynamic -Wl,-rpath,/usr/lib -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.2-p290/lib -L/usr/local/rvm/rubies/ruby-1.9.2-p290/lib -lruby -L/usr/lib -lmysqlclient_r -lpthread -lz -lm -lrt -lssl -lcrypto -ldl -lpthread -lrt -ldl -lcrypt -lm -lc 
/usr/bin/ld: cannot find -lmysqlclient_r 
collect2: ld returned 1 exit status 
make: *** [mysql2.so] Error 1 


Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.11 for inspection. 
Results logged to /usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.11/ext/mysql2/gem_make.out 

वहाँ ढेर अतिप्रवाह पर खोज परिणामों के एक बहुत हैं लेकिन उनमें से कोई मेरी समस्या को ठीक होगा ।

libmysqlclient-dev - MySQL database development files 
libmysqlclient18 - MySQL database client library 

डॉट डेब रेपो के माध्यम से स्थापित किया गया है।

mysql-server भी स्थापित है।

libmysqlclient से संबंधित निम्न फ़ाइलों में पाया जा सकता है/usr/lib

/usr/lib/libmysqlclient.so.18 
/usr/lib/libmysqlclient_r 
/usr/lib/libmysqlclient.so 
/usr/lib/libmysqlclient.so.16.0.0 
/usr/lib/libmysqlclient.a 
/usr/lib/libmysqlclient_r.so.16 
/usr/lib/libmysqlclient.so.16 
/usr/lib/libmysqlclient.so.18.0.0 
/usr/lib/libmysqlclient_r.so.16.0.0 
+1

यह संभवतः 'libmysqlclient' के लिए गलत जगह पर देख रहा है। क्या बिल्ड कॉन्फ़िगरेशन में कोई जगह है जिसे आप इसे कस्टमाइज़ कर सकते हैं? साथ ही, यह मदद करेगा यदि आप इंगित कर सकते हैं कि आप कहां से अपना स्रोत डाउनलोड कर रहे हैं, तो शायद त्रुटि को पुन: उत्पन्न किया जा सकता है। –

+0

'libmysqlclient-dev' का उल्लेख करने के लिए धन्यवाद, जिसने मेरी समस्या हल की –

उत्तर

21

ऐसा लगता है देशी एक्सटेंशन के साथ समस्या हेडर फाइल की कमी है (ज) वे आम तौर पर पाए जाते हैं -dev पुस्तकालयों में

sudo apt-get install libmysqlclient-dev 

gem install mysql2 

Debian/Ubuntu के लिए समस्या का हल।

+0

+1 धन्यवाद !! यह मेरे लिए भी काम करता है :) – SubniC

संबंधित मुद्दे