Hello,
I updated fedora 20 to fedora 22. Now, I am in trouble with my perl library. I tried to understand, but I cannot find any explanation. Hence, I am think if there is not an issue with the perl library
I got: Can't load '/home/pdupre/perl_lib/i386-linux-thread-multi/auto/Werf/Werf.so' for module Werf: libperl.so.5.18: cannot open shared object file: No such file or directory at /usr/share/perl5/XSLoader.pm line 68. at /home/pdupre/perl_lib/i386-linux-thread-multi/Werf.pm line 58. Compilation failed in require at ./test.pl line 9. BEGIN failed--compilation aborted at ./test.pl line 9.
when I run my perl file calling Werf
Why perl want to load libperl.so.5.18 while the perl version is 5.20?
I recompiled my library and installed properly. Actually, it is /home/pdupre/perl_lib/i386-linux-thread-multi/auto/Werf/Werf.so
Did something have change? How can I for force perl to load the right library? Would it be an issue with? perl-ExtUtils-ParseXS-3.24-310.fc22.noarc
This is the result of perl Makefile.PL perl Makefile.PL Checking if your kit is complete... Looks good MakeMaker (v7.04) Warning (non-fatal): Target 'dynamic' depends on targets in skipped section 'dynamic_lib' Warning (non-fatal): Target 'static' depends on targets in skipped section 'static_lib' Generating a Unix-style Makefile Writing Makefile for Werf::mylib Writing MYMETA.yml and MYMETA.json Generating a Unix-style Makefile Writing Makefile for Werf Writing MYMETA.yml and MYMETA.json
and the make: cp lib/Werf.pm blib/lib/Werf.pm make[1]: Entering directory '/home/pdupre/Spectroscopy/Werf/mylib' ar cr libwerf.a : libwerf.a make[1]: Leaving directory '/home/pdupre/Spectroscopy/Werf/mylib' Running Mkbootstrap for Werf () chmod 644 "Werf.bs" "/usr/bin/perl" "/usr/share/perl5/vendor_perl/ExtUtils/xsubpp" -typemap "/usr/share/perl5/ExtUtils/typemap" Werf.xs > Werf.xsc && mv Werf.xsc Werf.c Please specify prototyping behavior for Werf.xs (see perlxs manual) gcc -c -I. -I/home/pdupre/maths/cwerf -I/home/pdupre/maths/myf2c -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -DVERSION="1.01" -DXS_VERSION="1.01" -fPIC "-I/usr/lib/perl5/CORE" Werf.c Werf.c: In function ‘XS_Werf_constant’: ./const-xs.inc:5:13: warning: unused variable ‘targ’ [-Wunused-variable] dXSTARG; /* Faster if we have it. */ ^ rm -f blib/arch/auto/Werf/Werf.so gcc -shared -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -Wl,-z,relro -L/usr/local/lib Werf.o -o blib/arch/auto/Werf/Werf.so \ -lm -lf2c -L/home/pdupre/mylib -lcwerf -lperl \
chmod 755 blib/arch/auto/Werf/Werf.so "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Werf.bs blib/arch/auto/Werf/Werf.bs 644
and make install make[1]: Entering directory '/home/pdupre/Spectroscopy/Werf/mylib' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/pdupre/Spectroscopy/Werf/mylib' Running Mkbootstrap for Werf () chmod 644 "Werf.bs" Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing ~/perl_lib/i386-linux-thread-multi/auto/Werf/Werf.so Installing ~/perl_lib/i386-linux-thread-multi/Werf.pm Appending installation info to ~/perl_lib/i386-linux-thread-multi/perllocal.pod
I checked all my libraries.
=========================================================================== Patrick DUPRÉ | | email: pdupre@gmx.com Laboratoire de Physico-Chimie de l'Atmosphère | | Université du Littoral-Côte d'Opale | | Tel. (33)-(0)3 28 23 76 12 | | Fax: 03 28 65 82 44 189A, avenue Maurice Schumann | | 59140 Dunkerque, France ===========================================================================
On Sun, Aug 09, 2015 at 12:21:23AM +0200, Patrick Dupre wrote:
Hello,
I updated fedora 20 to fedora 22. Now, I am in trouble with my perl library. I tried to understand, but I cannot find any explanation. Hence, I am think if there is not an issue with the perl library
I got: Can't load '/home/pdupre/perl_lib/i386-linux-thread-multi/auto/Werf/Werf.so' for module Werf: libperl.so.5.18: cannot open shared object file: No such file or directory at /usr/share/perl5/XSLoader.pm line 68. at /home/pdupre/perl_lib/i386-linux-thread-multi/Werf.pm line 58. Compilation failed in require at ./test.pl line 9. BEGIN failed--compilation aborted at ./test.pl line 9.
Can you reproduce this by trying to just load the module, i.e. what is the output of this command:
$ perl -MWerf -e 1
Second, can you post the *complete* output of
$ perl -V
and the complete output of
$ env | egrep 'PERL|LD'
Thank you very much for your help.
However, I solved the issue. Actually moving from fedora 20 to fedora 22, 1) I need to recompile all my perl library because perl has change from 5.18 to 5.20 2) the new libraries were not installed where they should because in my Makefile.PL I used to use ~ for the home directory while in the new version of fedora this is not understood properly by make make just create a new sub directory ~! I do not know if it is a bug, but I have to modify all my Makefile
On Sun, Aug 09, 2015 at 12:21:23AM +0200, Patrick Dupre wrote:
Hello,
I updated fedora 20 to fedora 22. Now, I am in trouble with my perl library. I tried to understand, but I cannot find any explanation. Hence, I am think if there is not an issue with the perl library
I got: Can't load '/home/pdupre/perl_lib/i386-linux-thread-multi/auto/Werf/Werf.so' for module Werf: libperl.so.5.18: cannot open shared object file: No such file or directory at /usr/share/perl5/XSLoader.pm line 68. at /home/pdupre/perl_lib/i386-linux-thread-multi/Werf.pm line 58. Compilation failed in require at ./test.pl line 9. BEGIN failed--compilation aborted at ./test.pl line 9.
Can you reproduce this by trying to just load the module, i.e. what is the output of this command:
$ perl -MWerf -e 1Second, can you post the *complete* output of
$ perl -Vand the complete output of
$ env | egrep 'PERL|LD'-- The Enterprise successfully ferries an alien VIP from one place to another without serious incident. -- Things That Never Happen in "Star Trek" #7 -- users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Have a question? Ask away: http://ask.fedoraproject.org
I still have some issues: I check all my libraries, but probably I missed something:
perl -MFitter -e 1 Can't load '/home/pdupre/perl_lib/i386-linux-thread-multi/auto/Fitter/Fitter.so' for module Fitter: libperl.so.5.18: cannot open shared object file: No such file or directory at /usr/lib/perl5/DynaLoader.pm line 193. at -e line 0. Compilation failed in require. BEGIN failed--compilation aborted. [pdupre@sophocle Line_Profiles]$ perl -MFitter -e 1 Can't load '/home/pdupre/perl_lib/i386-linux-thread-multi/auto/Fitter/Fitter.so' for module Fitter: libperl.so.5.18: cannot open shared object file: No such file or directory at /usr/lib/perl5/DynaLoader.pm line 193. at -e line 0. Compilation failed in require. BEGIN failed--compilation aborted.
perl -V Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
Platform: osname=linux, osvers=3.19.5-200.fc21.x86_64, archname=i386-linux-thread-multi uname='linux buildhw-08.phx2.fedoraproject.org 3.19.5-200.fc21.x86_64 #1 smp mon apr 20 19:51:56 utc 2015 i686 i686 i386 gnulinux ' config_args='-des -Doptimize=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -Dccdlflags=-Wl,--enable-new-dtags -Dlddlflags=-shared -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -Wl,-z,relro -Dshrpdir=/usr/lib -DDEBUGGING=-g -Dversion=5.20.2 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl5 -Dsitearch=/usr/local/lib/perl5 -Dprivlib=/usr/share/perl5 -Dvendorlib=/usr/share/perl5/vendor_perl -Darchlib=/usr/lib/perl5 -Dvendorarch=/usr/lib/perl5/vendor_perl -Darchname=i386-linux-thread-multi -Duseshrplib -Dusethreads -Duseithreads -Dusedtrace=/usr/bin/dtrace -Duselargefiles -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dscriptdir=/usr/bin -Dusesitecustomize' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables', cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='', gccversion='5.1.1 20150422 (Red Hat 5.1.1-1)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='gcc', ldflags =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /usr/lib /lib libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=libc-2.21.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.21' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,--enable-new-dtags' cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -Wl,-z,relro -L/usr/local/lib'
Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API USE_SITECUSTOMIZE Locally applied patches: Fedora Patch1: Removes date check, Fedora/RHEL specific Fedora Patch4: use libresolv instead of libbind Fedora Patch5: USE_MM_LD_RUN_PATH Fedora Patch6: Skip hostname tests, due to builders not being network capable Fedora Patch7: Dont run one io test due to random builder failures Fedora Patch15: Define SONAME for libperl.so Fedora Patch16: Install libperl.so to -Dshrpdir value Fedora Patch22: Document Math::BigInt::CalcEmu requires Math::BigInt (CPAN RT#85015) Fedora Patch25: Use stronger algorithm needed for FIPS in t/op/crypt.t (RT#121591) Fedora Patch26: Make *DBM_File desctructors thread-safe (RT#61912) Fedora Patch27: Report inaccesible file on failed require (RT#123270) Fedora Patch28: Use stronger algorithm needed for FIPS in t/op/taint.t (RT#123338) Fedora Patch29: Fix Errno.pm generation for GCC 5.0 (RT#123784) Fedora Patch30: Handle hexadecimal constants by h2ph (RT#123784) Fedora Patch31: Do not use -_h2ph_pre.ph from system at tests (RT#123784) Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux Built under linux Compiled at Jun 5 2015 10:35:36 %ENV: PERL5LIB=":/home/pdupre/perl_lib/i386-linux-thread-multi" PERL_LIB="/home/pdupre/perl_lib/i386-linux-thread-multi" @INC: /home/pdupre/perl_lib/i386-linux-thread-multi /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .
env | egrep 'PERL|LD' PERL5LIB=:/home/pdupre/perl_lib/i386-linux-thread-multi LD_LIBRARY_PATH=:/home/pdupre/mylib:/usr/local/root_v5_34/lib/root:/usr/local/Minuit2.5.27/lib:/usr/local/intel/lib/ia32:/usr/local/intel/lib/digilent/adept/lib:/home/pdupre/mylib:/usr/local/root_v5_34/lib/root:/usr/local/Minuit2.5.28/lib:/usr/local/intel/lib/ia32:/home/pdupre/mylib:/usr/local/root_v5_34/lib/root:/usr/local/Minuit2.5.28/lib:/usr/local/intel/lib/ia32:/usr/local/intel/lib/digilent/adept/lib PERL_LIB=/home/pdupre/perl_lib/i386-linux-thread-multi
I updated fedora 20 to fedora 22. Now, I am in trouble with my perl library. I tried to understand, but I cannot find any explanation. Hence, I am think if there is not an issue with the perl library
I got: Can't load '/home/pdupre/perl_lib/i386-linux-thread-multi/auto/Werf/Werf.so' for module Werf: libperl.so.5.18: cannot open shared object file: No such file or directory at /usr/share/perl5/XSLoader.pm line 68. at /home/pdupre/perl_lib/i386-linux-thread-multi/Werf.pm line 58. Compilation failed in require at ./test.pl line 9. BEGIN failed--compilation aborted at ./test.pl line 9.
Can you reproduce this by trying to just load the module, i.e. what is the output of this command:
$ perl -MWerf -e 1Second, can you post the *complete* output of
$ perl -Vand the complete output of
$ env | egrep 'PERL|LD'-- The Enterprise successfully ferries an alien VIP from one place to another without serious incident. -- Things That Never Happen in "Star Trek" #7 -- users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Have a question? Ask away: http://ask.fedoraproject.org
On Sun, Aug 09, 2015 at 08:35:20PM +0200, Patrick Dupre wrote:
I still have some issues: I check all my libraries, but probably I missed something:
perl -MFitter -e 1 Can't load '/home/pdupre/perl_lib/i386-linux-thread-multi/auto/Fitter/Fitter.so' for module Fitter: libperl.so.5.18: cannot open shared object file: No such file or directory at /usr/lib/perl5/DynaLoader.pm line 193. at -e line 0. Compilation failed in require. BEGIN failed--compilation aborted. [pdupre@sophocle Line_Profiles]$ perl -MFitter -e 1 Can't load '/home/pdupre/perl_lib/i386-linux-thread-multi/auto/Fitter/Fitter.so' for module Fitter: libperl.so.5.18: cannot open shared object file: No such file or directory at /usr/lib/perl5/DynaLoader.pm line 193. at -e line 0. Compilation failed in require. BEGIN failed--compilation aborted.
env | egrep 'PERL|LD' PERL5LIB=:/home/pdupre/perl_lib/i386-linux-thread-multi LD_LIBRARY_PATH=:/home/pdupre/mylib:/usr/local/root_v5_34/lib/root:/usr/local/Minuit2.5.27/lib:/usr/local/intel/lib/ia32:/usr/local/intel/lib/digilent/adept/lib:/home/pdupre/mylib:/usr/local/root_v5_34/lib/root:/usr/local/Minuit2.5.28/lib:/usr/local/intel/lib/ia32:/home/pdupre/mylib:/usr/local/root_v5_34/lib/root:/usr/local/Minuit2.5.28/lib:/usr/local/intel/lib/ia32:/usr/local/intel/lib/digilent/adept/lib PERL_LIB=/home/pdupre/perl_lib/i386-linux-thread-multi
I would speculate that in one of the directories listed in your LD_LIBRARY_PATH or PERL5LIB env vars there is a libperl.so.5.18 file.
What does this give you:
$ find /home/pdupre/perl_lib /home/pdupre/mylib /usr | grep libperl.so.5.18