web-dev-qa-db-ja.com

ldが-l <library>を見つけられません

私は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 
 running build 
 running build_ext 
 building 「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-fun ctions -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 [.____で失敗しました。]
17
mo ba

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

8
Trevor Hickey

標準ライブラリディレクトリの1つにcoinhslライブラリをインストールし、ppyipoptインストールを実行する前に 'ldconfig`を実行できます。

1

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

0
user698116