[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mail/ja-mh package
Takahiro Kambe writes:
>共有ライブラリの libmh.so で、staticなライブラリ libmts.a や
>libzotnet.a をの関数を参照しています。
${WRKDIR}/.wrapper/bin/gcc が、フラグの順序を変えているためのようです。
gcc -L../sbr -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -Xlinker -rpath -Xlinker /usr/pkg/lib -o xali ali.o aliasbr.o ../config/config.o -lmh ../mts/libmts.a ../zotnet/libzot.a ../config/version.o
とリンクしようとしていますが、.wrapper の gcc により
以下のようにフラグが変更されます。
/usr/pkgsrc/mail/ja-mh/work/.gcc/bin/gcc -L../sbr -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -Wl,-rpath,/usr/pkg/lib -o xali ali.o aliasbr.o ../config/config.o ../mts/libmts.a ../zotnet/libzot.a ../config/version.o -lmh
末尾のパッチでリンクできると思いますので、お試しください。
>昔は大丈夫で今はダメなのは、なぜ?
以前は USE_BUILDLINK3=YES を指定しないと .wrapper のスクリプトは
使用されなかったと思うのですが、今は常に使用しているため、
リンクできなくなったようです。
(25日に checkout した pkgsrc の mail/ja-mh (ja-mh6-3.03) でも、
同様の原因でリンクに失敗していました。)
--- conf/makefiles/uip.orig 2001-05-30 23:57:47.000000000 +0900
+++ conf/makefiles/uip
@@ -140,7 +140,7 @@ LD = LD_LIBRARY_PATH=../sbr @(MHCOMPILER
LD = LD_LIBRARY_PATH=../sbr @(MHCOMPILER)
@END: FBSDSHLIB
@BEGIN: GELFSHLIB
-LD = @(MHCOMPILER) -L../sbr
+LD = @(MHCOMPILER) -L../sbr -L../mts -L../zotnet
@END: GELFSHLIB
@END: SHAREDLIB
@BEGIN: OPTIM
@@ -166,6 +166,10 @@ LDLIBES = ../config/config.o \
@BEGIN: SUN4SHLIB
-Bdynamic \
@END: SUN4SHLIB
+@BEGIN: GELFSHLIB
+ @(SLDFLAG) -lmh$(SLIBVER) -lmts -lzot
+IGNORED_LDLIBES = \
+@END: GELFSHLIB
@(SLDFLAG) -lmh$(SLIBVER) ../mts/libmts.a ../zotnet/libzot.a
LDLIBS = $(LDLIBES) ../config/version.o $(LDOPTLIB)
LDLIBS_POST = $(LDLIBES) ../config/version.o $(LDOPTLIB_POST)