2010-11-24 9 views
0

私はSchuyler ErleのRubyベースのジオコーダ(https://github.com/geocommons/geocoder)をMac OS 10.6でローカルに起動しようとしています。たくさんの後Mac OS Xで誤ったsqlite3.soアーキテクチャ

lib/geocoder/us/sqlite3.so: Mach-O dynamically linked shared library i386 

を:

Error: dlopen(bin/../lib/geocoder/us/sqlite3.so, 10): no suitable image found. 
Did find: bin/../lib/geocoder/us/sqlite3.so: mach-o, but wrong architecture 

file lib/geocoder/us/sqlite3.soが実際に明らかにしない実行:sqliteのデシベルにタイガーのシェープファイルをインポートする(上記のリンクで入手可能)のlib/tiger_importを呼び出す際に、私は次のエラーメッセージが表示されます私は適切な64ビットsqlite3.soビルドを追跡することができませんでした。これは私の問題の原因になりそうですか?その場合、推奨される回避策はありますか?私はRuby/sqliteの初心者ですので、何か不足していると確信しています。すべての手がかりをいただければ幸いです。

+2

.soファイルは、Linux(および他のELFベースのunixen)システム用の共有/動的ライブラリで、AFAIK OSXはそのようなものに.dylibを使用します。そのファイルを自分で作成しましたか、それともパッケージの一部として提供されましたか? 'tiger_import'で使用される方法は、SQLite拡張ライブラリであることを示します。 –

+0

良い点。私はもう少しソースコードを掘り、問題を解決しました。助けてくれてありがとう。 – danpelota

答えて

2

ソースコードを少し掘り下げた後、makefileが明示的に "-arch i386"をCコンパイラに渡していることに気付きました。 (別のユーザーが別に同じ問題と解決策hereに遭遇しました)私は単純に代わりにx86_64を渡すようにメイクファイルを変更しましたが、それは魅力的でした。