- 締切済み
icu ビルドエラー
いつもお世話になっております。 ICU(International Components for Unicode) http://www-01.ibm.com/software/globalization/icu/index.html を利用しようと、プログラムをビルドしたのですが、 library -lCrun: not found となりビルドできませんでした。 g++ -c -g -MMD -MP -MF build/Debug/GNU-Solaris-x86/main.o.d -o build/Debug/GNU-Solaris-x86/main.o main.cpp mkdir -p dist/Debug/GNU-Solaris-x86 g++ -o dist/Debug/GNU-Solaris-x86/icuapp2 build/Debug/GNU-Solaris-x86/main.o `/usr/bin/icu-config --ldflags` ld: fatal: library -lCrun: not found ld: fatal: file processing errors. No output written to dist/Debug/GNU-Solaris-x86/icuapp2 collect2: ld returned 1 exit status gmake[2]: *** [dist/Debug/GNU-Solaris-x86/icuapp2] エラー 1 gmake[2]: ディレクトリ `/home/a/NetBeansProjects/icuapp2' から出ます gmake[1]: *** [.build-conf] エラー 2 gmake[1]: ディレクトリ `/home/a/NetBeansProjects/icuapp2' から出ます gmake: *** [.build-impl] エラー 2 /usr/lib/libCrun.so.1 というファイルはあるのですが、何か不足があるのでしょうか。 どなたかご教授よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Wr5
- ベストアンサー率53% (2173/4061)
>環境は >OS OpenIndiana なるほど。 どちらにしろ手元にはないので、一般的な回答しか出来ませんけど。 # フリーらしいので後でDLしておきますかね。VMWareで動いてくれるかは不明ですが。 # oi-dev-151a-x86.iso でいいんでしょうかね? >~$ LD_LIBRARY_PATH=/usr/lib >~$ export LD_LIBRARY_PATH それは「追加」ではなく、「置き換え」ではありませんか? Makefile内で指定している場合もあるのでご注意を。 # ビルドしようとしているICUがどのバージョンのものなのか不明ですので…Makefileとか確認出来ませんけど。 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib export LD_LIBRARY_PATH 辺りではないでしょうか? # 使用しているシェルにより、若干の違いがあったりする辺りはご注意を。 Linuxだと、/etc/ld.so.confで設定したりldconfigの実行が必要だったりしますけど……。
- D-Matsu
- ベストアンサー率45% (1080/2394)
たぶん/usr/libを環境変数LD_LIBRARY_PATHに追加すればいいかと。 Solaris実環境は持ってないんで断言はしかねますが。
補足
ご返答ありがとうございます。 LD_LIBRARY_PATHを指定してみたのですが、 やはりビルドエラーになってしまいます。 ~$ LD_LIBRARY_PATH=/usr/lib ~$ export LD_LIBRARY_PATH ~$ echo $LD_LIBRARY_PATH /usr/lib また、NetBeansIDE 7.1のライブラリディレクトリの追加で /usr/libを追加してみたのですが、 こちらもうまくいきませんでした。
- Tacosan
- ベストアンサー率23% (3656/15482)
共有オブジェクトって「単にそこにあるだけではダメでシステムに認識させる必要がある」場合があったりするんだけど, Solaris ではどうだったっけ....
- Wr5
- ベストアンサー率53% (2173/4061)
環境とか不明なんですが… >GNU-Solaris-x86 とかあるのでSolarisですかね? 使ったことないですが… >/usr/lib/libCrun.so.1 >というファイルはあるのですが、何か不足があるのでしょうか。 ソレは「実行時に」読み込まれるファイルですよね? ビルド時に読み込まれるファイル(というか実行時に必要な関数などが/usr/lib/libCrun.so.1にあるとかの情報を持っている、リンクされるライブラリ?)は別に必要じゃありませんか? Linuxとかだと、~-develとかってパッケージに入っていたりすることが多いですが。 [user@localhost ~]$ rpm -ql curl-devel /usr/bin/curl-config /usr/include/curl : /usr/lib/libcurl.a /usr/lib/libcurl.so /usr/lib/pkgconfig/libcurl.pc /usr/share/doc/curl-devel-7.15.5 (以下略) みたいな……。
補足
ご返答ありがとうございます。 環境は OS OpenIndiana NetBeans 7.1 c++プロジェクト です。
補足
ご返答ありがとうございます。 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib export LD_LIBRARY_PATH としてみたのですが、状況は改善されません。 現在 VMWare Player 4でOpenIndianaの動作を確認しています。VMWare Toolsの ホスト<->ゲスト間のファイルドラッグ&ドロップ、クリップボードの共有はうまく動いていないのですが、OSの方は動作しているようです。 /home/ユーザー名/.profileの最後の行に上記のコマンドを記載いしてるのですが、 そのあたりにも問題があるのでしょうか。