[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

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


いけだ@練馬です。

From: 竹村不二夫 <fujio@ca2.so-net.ne.jp>
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のパスはどの様に記
> 述するのでしょうか? またどこかにエイリアスをおいておけば良いのでしょうか?

私 (VineSeed こわれかけ) では、/etc/ld.so.conf に次のようにかかれて
います。

/usr/X11R6/lib
/usr/lib
/usr/local/lib
/usr/lib/sane
/usr/lib/qt-3.0.5/lib


コマンドラインから明示的にライブラリを検索するパスを指定するので
あれば、

  gcc -o foo foo.c -L/usr/X11R6/lib -lX11

となります。


> 質問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

man dlclose すると、

       If  this  program  were in a file named "foo.c", you would
       build the program with the following command:

              gcc -rdynamic -o foo foo.c -ldl

などと書いているので、-ldl を追加してみてはいかがでしょうか。

お役に立ちますように。

-- 
IKEDA Katsumi <cork@ops.dti.ne.jp>

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: