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 Kakasi.so in p5-Text-Kakasi.
The symptom was that when the Perl module Kakasi.so was
invoked from another perl script, it said:
/usr/pkg/lib/perl5/vendor_perl/5.8.0/i386-netbsd-thread-multi/auto/Text/Kakasi/Kakasi.so:
Undefined PLT symbol "kakasi_getopt_argv" (symnum = 14)
The library kakasi_getopt_argv is in /usr/pkg/lib/libkakasi.so,
but by some reason, Kakasi.so won't reference that library.
The first glance falls to
'Text-Kakasi-1.05/Makefile.PL'
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)
were:
--------------------------------------------------------
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 twist.lip6.fr 4.0 NetBSD 4.0 (XEN3_DOMU) #0:
Sun Dec 16 01:26:00 PST 2007
builds@wb34:/home/builds/ab/netbsd-4-0-RELEASE/i386/200712160005Z-obj/
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
lib/perl5/5.8.0/i386-netbsd-thread-multi/Config.pm
are different.
--------------------------------------------------------
--- bouyer/lib/perl5/5.8.0/i386-netbsd-thread-multi/Config.pm 2008-06-02
23:04:40.000000000 +0900
+++ pkgsrc/lib/perl5/5.8.0/i386-netbsd-thread-multi/Config.pm 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',
--------------------------------------------------------
lib/perl5/5.8.0/i386-netbsd-thread-multi/Config_heavy.pl
also has some differences,
--------------------------------------------------------
-ccflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement'
+ccflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/pkg/include'
-cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement'
+cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/pkg/include'
-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 libkakasi.so, gone away.
Your opinion ?
(I am thinking to provide more simple example.)
----
Makoto Fujiwara
Home |
Main Index |
Thread Index |
Old Index