文字コード掲示板


一括購読


No.250投稿日時:2005/02/15(火) 19:30    <親記事>
投稿者:ちゃま

Solarisでのmakeでエラー

御世話になっております。

先週より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>
投稿者:森山 将之

arコマンド入っていますか

調べ方

(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>
投稿者:森山 将之

PATH の設定かも

/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    <親記事>
投稿者:ちゃま

Solarisでのmakeでエラー

御世話になっております。

先週より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>
投稿者:森山 将之

arコマンド入っていますか

調べ方

(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>
投稿者:森山 将之

PATH の設定かも

/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>
投稿者:森山 将之

解決してなによりです

問題解決したとの事、あめでとうございます。


Script : Sylpheed 1.24
Modified by MORIYAMA Masayuki