2017-09-05 10 views
0

次のエラーが発生していることのMac OS X 10.12.6(シエラ)にPyodbc(pip install pyodbc)をインストールしながら、私は問題を追跡しようとしている:"odbc"ライブラリが見つかりません(-lodbc)のリンカ(ld)エラーを解決するには?

ld: library not found for -lodbc 

リンカー(ld)を探していますライブラリ "odbc"を見つけられません。私は、リンカがダイナミックライブラリを扱うことができますが、おそらく静的ライブラリファイル(すなわち、libodbc.a)を探していると仮定しています。

今私はそうのようにunixODBCのをインストールしていた:

cd ~/Downloads 
curl -O ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz 
tar xzvf unixODBC*.tar.gz 
cd unixODBC* 
./configure 
make 
sudo make install 

私はこのテーマについて非常に精通していないよので、私の質問は、残念ながら少し広いです。これらは正しい方向に私を導くかもしれません:ldはどこの図書館をお探しですか?どのようなライブラリ(ファイル)名を探していますか?私はを/usr/local/libに、それはリンクされているライブラリではありませんか?そして...どうすればこれをさらにデバッグできますか?

P.S.私はHomebrewを使わずにこれをしようとしています。

答えて

0

ldは、libodbc.dylib/usr/lib/を探していますが、このディレクトリは、エル・キャピタン以降で実装されているSIP(システム・インテグリティ・プロテクション)のために変更できません。

ライブラリファイルが実際に/usr/local/lib/にあるため、ldパラメータに-L/usr/local/libを追加することで問題を解決しました。

Pythonパッケージの場合、コンパイラ設定に['library_dirs'] = '/usr/local/lib'を追加しました。私はPyodbcのローカルクローンのためにこれを行いました。

関連する問題