18

ubuntu 12.04 に pyipopt をインストールできません。リンク中に次のエラーが表示されます。

/usr/bin/ld: -lcoinhsl が見つかりません

このライブラリがインストールされており、.so ファイルと .la ファイルが次の場所で利用できることはわかっていますが、/home/mostafa/MyBuilds/CoinIpopt/build/lib/

誰かがこれに対する解決策を持っていますか?

以下は、実行中の setup.py ビルドの完全なリターンです。

root@ubuntu:~/MyBuilds/pyipopt# sudo python setup.py ビルド
実行中のビルド
build_ext の実行
「pyipopt」拡張機能のビルド
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/home/ mostafa/MyBuilds/CoinIpopt/build/include/coin/ -I/usr/include/python2.7 -c src/callback.c -o build/temp.linux-x86_64-2.7/src/callback.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/home/ mostafa/MyBuilds/CoinIpopt/build/include/coin/ -I/usr/include/python2.7 -c src/pyipopt.c -o build/temp.linux-x86_64-2.7/src/pyipopt.o
src/pyipopt.c: 関数 'set_intermediate_callback' 内:
src/pyipopt.c:452:15: 警告: 変数 'myowndata' が設定されていますが、使用されていません [-Wunused-but-set-variable]
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relrobuild/temp.linux-x86_64-2.7/src/callback.o build/temp.linux -x86_64-2.7/src/pyipopt.o -L/home/mostafa/MyBuilds/CoinIpopt/build/lib/ -lipopt -lblas -lcoinhsl -lcoinmetis -llapack -ldl -lm -o build/lib.linux-x86_64-2.7 /pyipopt.so -Wl,--rpath -Wl,/home/mostafa/MyBuilds/CoinIpopt/build/lib/
/usr/bin/ld: -lcoinhsl が見つかりません
collect2: ld が 1 つの終了ステータスを返しました
エラー: コマンド 'gcc' が終了ステータス 1 で失敗しました
4

4 に答える 4

8

-Ldir
ディレクトリ dir を -l で検索するディレクトリのリストに追加します。

于 2013-01-02T01:31:26.750 に答える
2

Coinhsl ライブラリを標準ライブラリ ディレクトリの 1 つにインストールし、ppyipopt のインストールを行う前に「ldconfig」を実行することができます。

于 2012-08-24T12:34:03.103 に答える
1

私は別のライブラリで同様の問題を抱えていましたが、それが見つからなかった理由は、そのライブラリに対して (./configure と make を実行した後に) make install を実行しなかったためです。make install には root 権限が必要な場合があります (この場合は、sudo make install を使用します)。make install を実行した後、so ファイルは正しいフォルダー (つまり、ここでは /usr/local/lib であり、指定したフォルダーではありません) にあるはずです。

于 2017-01-31T13:41:52.767 に答える
-4

変数にcoinhsl libへのパスを追加できLD_LIBRARY_PATHます。それが役立つかもしれません。

export LD_LIBRARY_PATH=/xx/yy/zz:$LD_LIBRARY_PATH

ここで、 lib/xx/yy/zzへのパスを表します。coinhsl

于 2012-08-24T14:05:20.917 に答える