tech-pkg archive

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

perl-5.8.8nb8 binary package problem

Hi, I had a problem using in p5-Text-Kakasi.

The symptom was that when the Perl module was
invoked from another perl script, it said:

Undefined PLT symbol "kakasi_getopt_argv" (symnum = 14)

The library kakasi_getopt_argv is in /usr/pkg/lib/, 
but by some reason, won't reference that library.

The first glance falls to 
This file has the line:
 'INC' => '-I/usr/local/include',
 'LIBS' => ['-L/usr/local/lib -lkakasi'],
 I have asked the obache san and he has the same environment
(NetBSD/i386 4.0), but he has no problem in doing the same
thing. So the above line should not be a problem.

He suggested to look at the perl config with the line
perl -e 'use Config; print $Config{libpth}'
The result of various installation (the last line was added later) 
package name,   installed by,    output of above command
perl-5.8.8nb6,  binary package, /usr/lib
perl-5.8.8nb8,  binary package, /usr/lib
perl-5.8.8nb8,  made from pkgsrc, /usr/lib /usr/pkg/lib
Now we have to look at the origin of the binary package.
It would be checked by

 pkg_info -Q BUILD_HOST perl

Now binary package version shows, for example,
NetBSD 4.0 NetBSD 4.0 (XEN3_DOMU) #0: 
Sun Dec 16 01:26:00 PST 2007  
home/builds/ab/netbsd-4-0-RELEASE/src/sys/arch/i386/compile/XEN3_DOMU i386

Then we checked the difference between made-from-pkgsrc and binary-packge,
and it turned out that the file

are different.
--- bouyer/lib/perl5/5.8.0/i386-netbsd-thread-multi/   2008-06-02 
23:04:40.000000000 +0900
+++ pkgsrc/lib/perl5/5.8.0/i386-netbsd-thread-multi/   2008-07-08 
15:15:41.000000000 +0900
@@ -81,9 +81,9 @@
     inc_version_list => ' ',
     intsize => '4',
     ldlibpthname => 'LD_LIBRARY_PATH',
-    libpth => '/usr/lib',
+    libpth => '/usr/lib /usr/pkg/lib',
     osname => 'netbsd',
-    osvers => '4.0',
+    osvers => '4.0.0_patch',
     path_sep => ':',
     privlibexp => '/usr/pkg/lib/perl5/5.8.0',
     scriptdir => '/usr/pkg/lib/perl5/bin',

also has some differences,
-ccflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement'
+ccflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement 

-cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement'
+cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement 

-lddlflags='-Wl,-R/usr/pkg/lib --whole-archive -shared '
-ldflags='-Wl,-R/usr/pkg/lib '
+lddlflags='-Wl,-R/usr/pkg/lib --whole-archive -shared  -L/usr/pkg/lib'
+ldflags='-Wl,-R/usr/pkg/lib  -L/usr/pkg/lib'
... (omitted) ...

Then I have made perl-5.8.8nb8 from pkgsrc/lang/perl5. 
After that, p5-Text-Kakasi is packaged again.
The problem, not able to find library in, gone away.

Your opinion ?
(I am thinking to provide more simple example.)
Makoto Fujiwara

Home | Main Index | Thread Index | Old Index