pkgsrc-Bugs archive

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

pkg/33104: buildlink3 transform for DynaLoader.a causes problems



>Number:         33104
>Category:       pkg
>Synopsis:       buildlink3 transform for DynaLoader.a causes problems
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Mar 20 07:25:01 +0000 2006
>Originator:     Thomas Klausner
>Release:        NetBSD 3.99.17
>Organization:
>Environment:
        
        
Architecture: i386
Machine: i386
>Description:
In mk/buildlink3.mk and wrapper/arg-pp-main, there is a transformation
rule for DynaLoader.a -> libDynaLoader_pic.a and back, so that libtool
recognizes it as a shared object.
However, at least for gnumeric, the transformed argument is passed off
to ar(1), which doesn't find it (and caused a build failure in gnumeric
before I disabled the perl plugin there).
>How-To-Repeat:
cd /usr/pkgsrc/math/gnumeric
enable the perl/bl3.mk inclusion again.
On -current after 3.99.16, 'make'.
(before that the same error happens but is disregarded by
the build system somehow):

-current:
*** Warning: Linking the shared library perl_loader.la against the
*** static library 
/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/auto/DynaLoader/libDynaLoader_pic.a
 is not portable!
cc -shared  .libs/boot.o .libs/perl-loader.o .libs/perl-gnumeric.o 
.libs/xsinit.o  -L/usr/obj/math/gnumeric/work.i386/.buildlink/lib 
-L/usr/obj/math/gnumeric/work.i386/.buildlink/lib/python2.4/config 
-L/usr/obj/math/gnumeric/work.i386/.x11-buildlink/lib 
/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/auto/DynaLoader/libDynaLoader_pic.a
 
-L/usr/obj/math/gnumeric/work.i386/.buildlink/lib/perl5/5.8.0/i386-netbsd-thread-multi/CORE
 -lperl -lcrypt -lpthread -lm  -Wl,-R/usr/pkg/lib 
-Wl,-R/usr/pkg/lib/python2.4/config -Wl,-R/usr/X11R6/lib -Wl,-E 
-Wl,-R/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/CORE -Wl,-soname 
-Wl,perl_loader.so -o .libs/perl_loader.so
ar cru .libs/perl_loader.a 
/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/auto/DynaLoader/libDynaLoader_pic.a
  boot.o perl-loader.o perl-gnumeric.o xsinit.o 
/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/auto/DynaLoader/libDynaLoader_pic.a
ar: 
/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/auto/DynaLoader/libDynaLoader_pic.a:
 No such file or directory
gmake[3]: *** [perl_loader.la] Error 1

3.0:
*** Warning: Linking the shared library perl_loader.la against the
*** static library 
/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/auto/DynaLoader/libDynaLoader_pic.a
 is not portable!
cc -shared  .libs/boot.o .libs/perl-loader.o .libs/perl-gnumeric.o 
.libs/xsinit.o  -L/usr/obj/math/gnumeric/work/.buildlink/lib -L
ESC[129CESCML/usr/obj/math/gnumeric/work/.buildlink/lib/python2.4/config 
-L/usr/obj/math/gnumeric/work/.x11-buildlink/lib 
/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/auto/DynaLoader/libDynaLoader_pic.a
 
-L/usr/obj/math/gnumeric/work/.buildlink/lib/perl5/5.8.0/i386-netbsd-thread-multi/CORE
 -lperl -lcrypt -lpthread -lm  -Wl,-R/usr/pkg/lib 
-Wl,-R/usr/pkg/lib/python2.4/config -Wl,-R/usr/X11R6/lib -Wl,-E 
-Wl,-R/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/CORE -Wl,-soname 
-Wl,perl_loader.so -o .libs/perl_loader.so
ar cru .libs/perl_loader.a 
/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/auto/DynaLoader/libDynaLoader_pic.a
  boot.o perl-loader.o perl-gnumeric.o xsinit.o 
/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/auto/DynaLoader/libDynaLoader_pic.a
ar: 
'/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/auto/DynaLoader/libDynaLoader_pic.a':
 No such file
ar: 
'/usr/pkg/lib/perl5/5.8.0/i386-netbsd-thread-multi/auto/DynaLoader/libDynaLoader_pic.a':
 No such file
ranlib .libs/perl_loader.a
creating perl_loader.la
(cd .libs && rm -f perl_loader.la && ln -s ../perl_loader.la perl_loader.la)
LC_ALL=C ../../intltool-merge -x -u -c ../../po/.intltool-merge-cache ../../po p
lugin.xml.in plugin.xml
Found cached translation database
...

>Fix:
Either teach libtool to recognize shared objects differently,
or at least identify DynaLoader.a as shared, or add handling for
ar(1) arguments. Or some other way?

>Unformatted:
        
        



Home | Main Index | Thread Index | Old Index