vine-users ML アーカイブ



[vine-users:060121] X11ライブラリ環境について

  • From: 竹村不二夫 <fujio@xxxxxxxxxxxxxxxx>
  • Subject: [vine-users:060121] X11ライブラリ環境について
  • Date: Fri, 02 May 2003 21:17:30 +0900
竹村です。

 X11リンク環境について教えて下さい。 これはvine 2.6CR でPCATもPP
Cも同じ状態です。

 以前のvine2.1CR(PCAT) の環境でX11を使用したプログラムを書きました。
 (簡単なもの) これをvine 2.6CR でコンパイルすると環境が違うためかエラー
になります。 どの様な関連になっているのか教えていただければありがたいです。

質問1 (redhat−>vine2.1)
 まずX11のリンク方法で以前にredhatでコンパイルしていたときは
 -lX11 の記述でlibX11がリンクされていました。 Vineになってから
/usr/bin/ld に登録がない! とエラーになります。 X11のパスはどの様に記
述するのでしょうか? またどこかにエイリアスをおいておけば良いのでしょうか?

質問2 (vine2.1->2.6)
 vine2.1CRのレベルで、ライブラリを直接リンクしてみました。 コマンドは cc
-o r....  /usr/X11R6/lib/libX11.a -lm と言う感じです。 これでエラーはなく
リンクが出来ました。 がしかし vine2.6に同じソースを移行してコンパイルする
と
cc -o r myatoms.c viewfunctions.c robotmatrix.c robotview.c
/usr/X11R6/lib/libX11.a -lm
/usr/X11R6/lib/libX11.a(XlcDL.o): In function `try_both_dlsym':
XlcDL.o(.text+0x111): undefined reference to `dlsym'
XlcDL.o(.text+0x136): undefined reference to `dlsym'
/usr/X11R6/lib/libX11.a(XlcDL.o): In function `open_object':
XlcDL.o(.text+0x635): undefined reference to `dlopen'
/usr/X11R6/lib/libX11.a(XlcDL.o): In function `close_object':
XlcDL.o(.text+0x6a4): undefined reference to `dlclose'
collect2: ld returned 1 exit status
make: *** [r] エラー 1

 と言うように同じように直接ライブラリを指定してもまださらに足りない物がある
らしくエラーになります。 思うにX11の正しい参照の仕方をしていないのでグルー
プとしてリンクされないからだと思っています。

 Vine2.6でのX11の環境の構築方法が分かればありがたいです。