2011-01-19 15 views
0

Railsを使用して、 "bundle install"やsudo gemのようなものをインストールしようとすると、sqlite3に関する同じエラーが表示されます。私は両方のバンドルインストールとgemインストールでSqlite3の問題が発生する

sudo port install sqlite3 +universal 

sudo port install rb-sqlite3 +universal 

を試してみた。しかしどちらも支援してきました。ここでエラーがある:

cmu-435163:photoGlass dpieri$ sudo gem install taps 
Password: 
Building native extensions. 
This could take a while... 
ERROR: Error installing taps: 
    ERROR: Failed to build gem native extension. 

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb 
checking for sqlite3.h... yes 
checking for sqlite3_libversion_number() in -lsqlite3... no 
sqlite3 is missing. Try 'port install sqlite3 +universal' 
or 'yum install sqlite3-devel' and check your shared library search path (the 
location where your sqlite3 shared library is located). 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. 
Check the mkmf.log file for more details. 
You may need configuration options. 

Provided configuration options:  
--with-opt-dir 
--without-opt-dir 
--with-opt-include 
--without-opt-include=${opt-dir}/include  
--with-opt-lib 
.... 

.... 
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.3 for inspection. Results logged to /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.3/ext/sqlite3/gem_make.out 

UPDATE: 私はmkmf.logファイルを発見し、ここで、その内容は:

find_header: checking for sqlite3.h... 
-------------------- yes 

"gcc -E -I. 
-I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 
-I. -I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -g -Os -pipe -fno-common -DENABLE_DTRACE -fno-common -pipe -fno-common conftest.c -o conftest.i" checked program was: /* begin */ 1: #include <sqlite3.h> /* end */ 

-------------------- 

find_library: checking for sqlite3_libversion_number() in 
-lsqlite3... -------------------- no 

"gcc -o conftest -I. 
-I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 
-I. -I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -g -Os -pipe -fno-common -DENABLE_DTRACE -fno-common -pipe -fno-common conftest.c -L. -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib 
-L/usr/local/lib -L/opt/local/lib -L/sw/local/lib -L/usr/lib -L.  -lruby -lsqlite3 -lpthread -ldl " conftest.c: In function ‘t’: conftest.c:3: error: ‘sqlite3_libversion_number’ undeclared (first use in this function) conftest.c:3: error: (Each undeclared identifier is reported only once conftest.c:3: error: for each function it appears in.) checked program was: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { void ((*volatile p)()); p = (void ((*)()))sqlite3_libversion_number; return 0; } /* end */ 

"gcc -o conftest -I. 
-I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin10.0 
-I. -I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -g -Os -pipe -fno-common -DENABLE_DTRACE -fno-common -pipe -fno-common conftest.c -L. -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib 
-L/usr/local/lib -L/opt/local/lib -L/sw/local/lib -L/usr/lib -L.  -lruby -lsqlite3 -lpthread -ldl " ld: warning: directory '/sw/local/lib' following -L not found ld: warning: in /usr/local/lib/libsqlite3.dylib, missing required architecture x86_64 in file Undefined symbols: "_sqlite3_libversion_number", referenced from: 
     _t in ccSWkK1V.o ld: symbol(s) not found collect2: ld returned 1 exit status checked program was: /* begin 
*/ 1: /*top*/ 2: int main() { return 0; } 3: int t() { sqlite3_libversion_number(); return 0; } /* end */ 

-------------------- 
+0

Xcodeデベロッパーツール(gccを含む)がインストールされていますか? – coreyward

+0

私はXcodeの最新バージョンと開発者用ツールを約2ヶ月前にインストールしました。私は数日前まで宝石を丁寧にインストールしています – dpieri

+0

'どのsqlite3があなたに与えるのですか? –

答えて

1

はそれを考え出した:

  1. を「これをやりました - ruby "と" which -a sqlite3 "と" which -a gem "を に変更しました。私は2つまたは3つのバージョンを持っていました それぞれ

  2. 使用ポートは、Ruby、sqlite3のすべてのバージョンをアンインストールすると、RubyGemsのは、それが手動で一度RubyとRubygemsの

  3. と同じ の経路に沿っていなかった他のsqlite3をアンインストール

  4. をインストールしていましたRuby、Rubygems、Sqlite3はすべて同じバスにありました (usr/bin)それはすべて正常に動作します。

+0

どのようにsqlite3を手動でアンインストールしましたか?それは私がそれをするのを許さないのですか? – azamsharp

関連する問題