• 締切済み

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 というファイルはあるのですが、何か不足があるのでしょうか。 どなたかご教授よろしくお願いいたします。

みんなの回答

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.4

>環境は >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の実行が必要だったりしますけど……。

kaoru424233254
質問者

補足

ご返答ありがとうございます。 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib export LD_LIBRARY_PATH としてみたのですが、状況は改善されません。 現在 VMWare Player 4でOpenIndianaの動作を確認しています。VMWare Toolsの ホスト<->ゲスト間のファイルドラッグ&ドロップ、クリップボードの共有はうまく動いていないのですが、OSの方は動作しているようです。 /home/ユーザー名/.profileの最後の行に上記のコマンドを記載いしてるのですが、 そのあたりにも問題があるのでしょうか。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.3

たぶん/usr/libを環境変数LD_LIBRARY_PATHに追加すればいいかと。 Solaris実環境は持ってないんで断言はしかねますが。

kaoru424233254
質問者

補足

ご返答ありがとうございます。 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)
回答No.2

共有オブジェクトって「単にそこにあるだけではダメでシステムに認識させる必要がある」場合があったりするんだけど, Solaris ではどうだったっけ....

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

環境とか不明なんですが… >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   (以下略) みたいな……。

kaoru424233254
質問者

補足

ご返答ありがとうございます。 環境は OS OpenIndiana NetBeans 7.1 c++プロジェクト です。

関連するQ&A