Project Home
Project Home
Source Code
Source Code
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - loading dynamic modules with perl fails with unknown sym: (2 Items)
   
loading dynamic modules with perl fails with unknown sym  
I have rebuild perl5 and the p5-pkgsrc-Dewey-1.0nb1 (Perl module to compare pkgsrc Dewey numbers) packages - but the 
missing symbol remains.

This is error message:

$ pkglint
unknown symbol: strlcpy
Can't load '/usr/pkg/lib/perl5/vendor_perl/5.8.0/x86pc-nto/auto/pkgsrc/Dewey/Dewey.so' for module pkgsrc::Dewey: 
Unresolved symbols at /usr/pkg/lib/perl5/5.8.0/x86pc-nto/XSLoader.pm line 70.


Here my findings:

IMHO I use an libc that lacks the symbol strlcpy. 

-rwxrwxr-x  1 root      root         583420 Oct 11  2006 /lib/libc.so.2

# use -s /lib/libc.so.2 | grep ' str' | grep cpy
$IQ: strcpy.c,v 1.5 $
$IQ: strncpy.c,v 1.5 $

but the header file is there:
$ grep strlcpy  /usr/qnx632/target/qnx6/usr/include/*
/usr/qnx632/target/qnx6/usr/include/strlcpy.h:size_t strlcpy(char* , const char* , size_t );

What should I do?

Thanks
Christian
Re: loading dynamic modules with perl fails with unknown sym  
On Fri, Apr 25, 2008 at 09:15:12AM -0400, Christian Leutloff wrote:
> I have rebuild perl5 and the p5-pkgsrc-Dewey-1.0nb1 (Perl module to compare pkgsrc Dewey numbers) packages - but the 
missing symbol remains.
> 
> This is error message:
> 
> $ pkglint
> unknown symbol: strlcpy
> Can't load '/usr/pkg/lib/perl5/vendor_perl/5.8.0/x86pc-nto/auto/pkgsrc/Dewey/Dewey.so' for module pkgsrc::Dewey: 
Unresolved symbols at /usr/pkg/lib/perl5/5.8.0/x86pc-nto/XSLoader.pm line 70.
> 
> 
> Here my findings:
> 
> IMHO I use an libc that lacks the symbol strlcpy. 
> 
> -rwxrwxr-x  1 root      root         583420 Oct 11  2006 /lib/libc.so.2
> 
> # use -s /lib/libc.so.2 | grep ' str' | grep cpy
> $IQ: strcpy.c,v 1.5 $
> $IQ: strncpy.c,v 1.5 $
> 
> but the header file is there:
> $ grep strlcpy  /usr/qnx632/target/qnx6/usr/include/*
> /usr/qnx632/target/qnx6/usr/include/strlcpy.h:size_t strlcpy(char* , const char* , size_t );
> 
> What should I do?
> 

I ran into this once but got side tracked.  I think the fix
is to use libnbcompat.  Something like the following in the
makefile?

USE_FEATURES=   nbcompat

-seanb