No.250 | 投稿日時: | 2005/02/15(火) 19:30 <親記事> |
投稿者: | ちゃま |
御世話になっております。
先週よりSolaris9サーバーにSambaをインストールするため
libiconvのインストールを行っているのですがmakeでエラーが出てきてしまいます。
インターネットや色々な書籍を参考にしているのですが、解決ができません。
いったい何が原因なのでしょうか?
ちなみにlibiconv1.8〜1.9.2全て同じところでエラーになっています。
下記がエラーです。
====================================================================
gcc -I. -I. -I.. -I./.. -I../include -g -O2 -DLIBDIR=\"/usr/local/lib\" -DENABL
E_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"/usr/local/lib\" -DNO_XMALLOC -Dset_
relocation_prefix=libcharset_set_relocation_prefix -Drelocate=libcharset_relocat
e -DHAVE_CONFIG_H -c ./relocatable.c -o relocatable.o >/dev/null 2>&1
/bin/sh ../libtool --mode=link gcc -o libcharset.la -rpath /usr/local/lib -vers
ion-info 1:0:0 -no-undefined localcharset.lo relocatable.lo
gcc -shared -Wl,-h -Wl,libcharset.so.1 -o .libs/libcharset.so.1.0.0 .libs/local
charset.o .libs/relocatable.o -lc
(cd .libs && rm -f libcharset.so.1 && ln -s libcharset.so.1.0.0 libcharset.so.1)
(cd .libs && rm -f libcharset.so && ln -s libcharset.so.1.0.0 libcharset.so)
false cru .libs/libcharset.a localcharset.o relocatable.o
make[2]: *** [libcharset.la] Error 1
make[2]: Leaving directory `/usr/share/src/libiconv-1.9.2/libcharset/lib'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/share/src/libiconv-1.9.2/libcharset'
make: *** [lib/localcharset.h] Error 2
====================================================================
現在の環境は以下の通りです。
GNU Make 3.80
GCC 3.4.2
Solaris9
どなたかお分かりになる方お教えくださいませんか?
よろしくお願いします。
No.251 | 投稿日時: | 2005/02/16(水) 21:56 <↑親記事:No.250> |
投稿者: | 森山 将之 |
調べ方
(1) エラーの直接の原因は何か?
false コマンドが実行されたため。
make コマンドは、make により実行されたコマンドの終了値が 0 の場合は正常終了として処理を続行するが、コマンドの終了値が 0 以外の場合は、処理をそこで中断する。
(2) false コマンドを実行しているのは誰?
libtool コマンド
(3) libtool は誰が作っている?
configure コマンドの実行により作られる。
m4/libtool.m4 に定義あり。
-----------------------------
AC_CHECK_TOOL(AR, ar, false)
-----------------------------
→ ar コマンドが見つからない場合 AR に false が設定される。
(4) Solaris では ar コマンドが入っていないの?
→ Web で、いろいろ調べると次のようなページが見つかる。
http://squid.robata.org/faq_2.html
→ 2.6 Solarisでコンパイルすると、libmiscutil.a 上の問題が発生する。
を参照。
http://www.tmtm.org/cgi-bin/w3ml/sylpheed-jp/msg/1457
と、こんな感じで調べれば答えは得られると思います。
No.252 | 投稿日時: | 2005/02/17(木) 13:32 <↑親記事:No.251> |
投稿者: | ちゃま |
arコマンドというのがあったのですね・・・
不勉強で申し訳ありません。
さっそく試してみたいと思います。
有難うございました m(_ _)m
No.254 | 投稿日時: | 2005/02/17(木) 17:03 <↑親記事:No.252> |
投稿者: | ちゃま |
すでにarがインストールされていましたのでPathの設定を行ったところ
無事makeを通りました。
有難うございました
m(_ _)m
No.259 | 投稿日時: | 2005/02/18(金) 12:16 <↑親記事:No.254> |
投稿者: | ちゃま |
無事makeも通りmake checkもエラーが無かったのですが、
iconv -l | grep EUCJP
とコマンドをうっても
EUCJP-MS
が表示されませんでした。
パッチは正常に当たっています。
まだ何かコマンドもしくはライブラリが必要なのでしょうか?
勉強不足で申し訳ありませんが、よろしくお願い致します。
No.261 | 投稿日時: | 2005/02/18(金) 12:35 <↑親記事:No.259> |
投稿者: | 森山 将之 |
/usr/local/bin/iconv -l | grep EUCJP
としてみてください。
もし、これで EUCJP-MS が表示されれば、PATH に /bin, /usr/bin より前に /usr/local/bin を加えると良いでしょう。
No.263 | 投稿日時: | 2005/02/18(金) 13:07 <↑親記事:No.261> |
投稿者: | ちゃま |
やっぱりダメでした・・・
カレントディレクトリに移動して実行しても同様でした・・・
ちなみにmake checkを行った時、下記のようなメッセージが出ました。
これで正常なのでしょうか?
./check-stateless . EUC-JP
./check-stateless . EUCJP-MS
./check-stateless . SHIFT_JIS
よろしくお願い致します。
No.265 | 投稿日時: | 2005/02/18(金) 13:21 <↑親記事:No.263> |
投稿者: | 森山 将之 |
Solaris は使っていないいので、具体的にどうすれば良いという事まではわかりませんが、共有ライブラリのパスも調べてみてください。
libiconv の共有ライブラリは、デフォルトでは /usr/local/lib に入ります。
ちなみに、カレントディレクトリのコマンドを実行する場合、次のようにする必要がありますので、ご注意ください。
./iconv -l | grep EUCJP
No.266 | 投稿日時: | 2005/02/18(金) 15:16 <↑親記事:No.265> |
投稿者: | ちゃま |
原因が分かりました。
LD_LIBRARY_PATHのパス設定でした。
どうやら標準で入っているlibiconvのライブラリを見にいってました。
お忙しい中のご回答有難うございました。
No.267 | 投稿日時: | 2005/02/19(土) 13:58 <↑親記事:No.266> |
投稿者: | 森山 将之 |
問題解決したとの事、あめでとうございます。
No.250 | 投稿日時: | 2005/02/15(火) 19:30 <親記事> |
投稿者: | ちゃま |
御世話になっております。
先週よりSolaris9サーバーにSambaをインストールするため
libiconvのインストールを行っているのですがmakeでエラーが出てきてしまいます。
インターネットや色々な書籍を参考にしているのですが、解決ができません。
いったい何が原因なのでしょうか?
ちなみにlibiconv1.8〜1.9.2全て同じところでエラーになっています。
下記がエラーです。
====================================================================
gcc -I. -I. -I.. -I./.. -I../include -g -O2 -DLIBDIR=\"/usr/local/lib\" -DENABL
E_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"/usr/local/lib\" -DNO_XMALLOC -Dset_
relocation_prefix=libcharset_set_relocation_prefix -Drelocate=libcharset_relocat
e -DHAVE_CONFIG_H -c ./relocatable.c -o relocatable.o >/dev/null 2>&1
/bin/sh ../libtool --mode=link gcc -o libcharset.la -rpath /usr/local/lib -vers
ion-info 1:0:0 -no-undefined localcharset.lo relocatable.lo
gcc -shared -Wl,-h -Wl,libcharset.so.1 -o .libs/libcharset.so.1.0.0 .libs/local
charset.o .libs/relocatable.o -lc
(cd .libs && rm -f libcharset.so.1 && ln -s libcharset.so.1.0.0 libcharset.so.1)
(cd .libs && rm -f libcharset.so && ln -s libcharset.so.1.0.0 libcharset.so)
false cru .libs/libcharset.a localcharset.o relocatable.o
make[2]: *** [libcharset.la] Error 1
make[2]: Leaving directory `/usr/share/src/libiconv-1.9.2/libcharset/lib'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/share/src/libiconv-1.9.2/libcharset'
make: *** [lib/localcharset.h] Error 2
====================================================================
現在の環境は以下の通りです。
GNU Make 3.80
GCC 3.4.2
Solaris9
どなたかお分かりになる方お教えくださいませんか?
よろしくお願いします。
No.251 | 投稿日時: | 2005/02/16(水) 21:56 <↑親記事:No.250> |
投稿者: | 森山 将之 |
調べ方
(1) エラーの直接の原因は何か?
false コマンドが実行されたため。
make コマンドは、make により実行されたコマンドの終了値が 0 の場合は正常終了として処理を続行するが、コマンドの終了値が 0 以外の場合は、処理をそこで中断する。
(2) false コマンドを実行しているのは誰?
libtool コマンド
(3) libtool は誰が作っている?
configure コマンドの実行により作られる。
m4/libtool.m4 に定義あり。
-----------------------------
AC_CHECK_TOOL(AR, ar, false)
-----------------------------
→ ar コマンドが見つからない場合 AR に false が設定される。
(4) Solaris では ar コマンドが入っていないの?
→ Web で、いろいろ調べると次のようなページが見つかる。
http://squid.robata.org/faq_2.html
→ 2.6 Solarisでコンパイルすると、libmiscutil.a 上の問題が発生する。
を参照。
http://www.tmtm.org/cgi-bin/w3ml/sylpheed-jp/msg/1457
と、こんな感じで調べれば答えは得られると思います。
No.252 | 投稿日時: | 2005/02/17(木) 13:32 <↑親記事:No.251> |
投稿者: | ちゃま |
arコマンドというのがあったのですね・・・
不勉強で申し訳ありません。
さっそく試してみたいと思います。
有難うございました m(_ _)m
No.254 | 投稿日時: | 2005/02/17(木) 17:03 <↑親記事:No.252> |
投稿者: | ちゃま |
すでにarがインストールされていましたのでPathの設定を行ったところ
無事makeを通りました。
有難うございました
m(_ _)m
No.259 | 投稿日時: | 2005/02/18(金) 12:16 <↑親記事:No.254> |
投稿者: | ちゃま |
無事makeも通りmake checkもエラーが無かったのですが、
iconv -l | grep EUCJP
とコマンドをうっても
EUCJP-MS
が表示されませんでした。
パッチは正常に当たっています。
まだ何かコマンドもしくはライブラリが必要なのでしょうか?
勉強不足で申し訳ありませんが、よろしくお願い致します。
No.261 | 投稿日時: | 2005/02/18(金) 12:35 <↑親記事:No.259> |
投稿者: | 森山 将之 |
/usr/local/bin/iconv -l | grep EUCJP
としてみてください。
もし、これで EUCJP-MS が表示されれば、PATH に /bin, /usr/bin より前に /usr/local/bin を加えると良いでしょう。
No.263 | 投稿日時: | 2005/02/18(金) 13:07 <↑親記事:No.261> |
投稿者: | ちゃま |
やっぱりダメでした・・・
カレントディレクトリに移動して実行しても同様でした・・・
ちなみにmake checkを行った時、下記のようなメッセージが出ました。
これで正常なのでしょうか?
./check-stateless . EUC-JP
./check-stateless . EUCJP-MS
./check-stateless . SHIFT_JIS
よろしくお願い致します。
No.265 | 投稿日時: | 2005/02/18(金) 13:21 <↑親記事:No.263> |
投稿者: | 森山 将之 |
Solaris は使っていないいので、具体的にどうすれば良いという事まではわかりませんが、共有ライブラリのパスも調べてみてください。
libiconv の共有ライブラリは、デフォルトでは /usr/local/lib に入ります。
ちなみに、カレントディレクトリのコマンドを実行する場合、次のようにする必要がありますので、ご注意ください。
./iconv -l | grep EUCJP
No.266 | 投稿日時: | 2005/02/18(金) 15:16 <↑親記事:No.265> |
投稿者: | ちゃま |
原因が分かりました。
LD_LIBRARY_PATHのパス設定でした。
どうやら標準で入っているlibiconvのライブラリを見にいってました。
お忙しい中のご回答有難うございました。
No.267 | 投稿日時: | 2005/02/19(土) 13:58 <↑親記事:No.266> |
投稿者: | 森山 将之 |
問題解決したとの事、あめでとうございます。