[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ja-vflib-2.24.2



tomie@civil.eng.osaka-u.ac.jp wrote:

 > Takahiro Kambe wrote:
 > > 2. freetype-1.2がgettext-0.10.35にDEPENDSしていて、libintl.aをリンクする
 > >    必要があるが、これをうまくみつけてくれない。
 > >         configure時: MakefileのMAKE_ENVにLIBS=-lintlを足す。→ OK
 > >    ところが、compile時には見つけられませんでした。
 > > 取り敢えず、現状を報告します。

これ直ったのでしょうか? i386-elf 今日のpkgsrcだと問題なくmake installできます。


 >  NetBSD-1.4.1-Release i386 portsでは問題なくbuildできていますが,別の所で
 >  同じ様な問題で引っかかっています。
 > 
 >  私の場合はNetBSD-1.4.1-Release alpha portsで
 >  pkgsrcでbuildしたfreetypeを使ってX-TT(version 1.2)をbuildする時に同じ問題が
 >  起きています。
 >  
 >  で色々調べた結果
 >  1. NetBSDのa.outのldはfreetypeリンク時に関数名?だけでなくcode?もstaticにリンクしてくれる。
 >  2. GNUのELFのldはリンク時に関数名?だけしかリンクしてくれない。
 >  のが原因かなぁと思ってます。(もしかしたら既知の問題ですか?)

-lfreetype が必要なプログラムをlinkするときに

1. a.outな環境だと、 -L/usr/pkg/lib -lfreetype するだけでlinkできる。
2. ELFな環境だと、-L/usr/pkg/lib -R/usr/pkg/lib -lfreetype -lintl しないと
   linkできない。

ってことでよいですか?

それとも

3. ELFな環境でも、-L/usr/pkg/lib -R/usr/pkg/lib -lfreetype でlinkできる。
4. ELFな環境でも、-L/usr/pkg/lib -lfreetype でlinkできる。

ですか?

1., 3. は問題なし :-)

4. は、ELFの場合 -rpath or -R によるshared library pathの指定が必要です。
# NetBSDでは ELFでも /etc/ld.so.conf も使うことができますが。

2. だと、プログラム側でlinkしてやる必要がやっぱりあるのではないかと。
Magick-configとかgtk-configとかの --libs ってこういうときに使いますよね。
でも、そうすると1.がokになるのはどういうことだろう?? 私の勘違い?

 >  解決方法としては...
 >  gettextがSharedLibraryを作成するように変更することかなぁと思ってますが...

pkglibtoolを使うようにするのは正しいと思います。

sakamoto