Subject: Re: odd runtime linker error
To: None <current-users@netbsd.org>
From: Dave Barr <barr@visi.com>
List: current-users
Date: 10/26/1999 16:54:35
Ugh.  This bug is insidious.  I've submitted a PR under 'pkg'
but I wonder if that's the right place.  I've classified it
as 'serious' though on hindsight it probably is more like
'critical'.


I've just run across the same bug with rrdtool, which installs
a perl module.   Trying to use the module results in the
same error:

Can't load '/usr/pkg/lib/perl5/site_perl/sparc-netbsd/auto/RRDs/RRDs.so'
for module RRDs:
/usr/pkg/lib/perl5/site_perl/sparc-netbsd/auto/RRDs/RRDs.so: Undefined
symbol "" (reloc type = 12, symnum = 6) at
/usr/pkg/lib/perl5/sparc-netbsd/5.00404/DynaLoader.pm line 166.

Anyone know of any work-arounds?  Is this indeed SPARC specific?
Could this be related to the -fpic/-fPIC bug (port-sparc/7557)?

--Dave
Paul Kranenburg wrote:
> 
> > /usr/X11R6/lib/libqt.so.1: Undefined symbol "" (reloc type = 12, symnum
> > = 4)
> 
> This error seems to pop up with every shared library built from C++
> sources by using the `libtool' to construct the link command to
> build the library from (PIC) object files.  The generated link command
> includes `-lgcc' -- which is a static (non-PIC) library -- that
> should preferably not be mixed in with the PIC object files of
> the shared library being built.
> 
> A solution would be to have libtool use a similar recipe for building
> shared libraries as do our native `make' rules, i.e. calling ld(1)
> directly with appropriate options.
> 
> Unfortunately, reading through the logic of `libtool' feels about the
> same as trying to retrieve one's lost contact lenses from a pile of
> horse manure..
> 
> -pk