[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