Subject: | Issue about Can't locate loadable object for module |
Date: | Tue, 13 Dec 2016 13:51:46 +0000 |
To: | "bug-PAR [...] rt.cpan.org" <bug-PAR [...] rt.cpan.org> |
From: | Chenchen Qu <cqu [...] factset.com> |
Hi:
I'm experiencing some difficulty when trying to generate a Linux executable on either redhat 6 or 7, I had different perl version installed 5.22.1 5.24.0 and all appear to have the same issue about Can't locate loadable object for module IO in @INC, it used to work with my 5.22.1 build, but when I try wipe it out and reinstall everything it started having the same issue as 5.24.0. I tried to debug this issue(and still trying to dig into this) and found the issue might come from the DynaLoader.pm.
Here's some log that I got:
With my working 5.22.1:
At the end our pp command:
DynaLoader::bootstrap for IO (auto/IO/IO.so)
found /tmp/par-637175/cache-11199021a1608d6df9ec28abe5e0ffcd/cb956fef.so for IO
DynaLoader::bootstrap for Fcntl (auto/Fcntl/Fcntl.so)
found /tmp/par-637175/cache-11199021a1608d6df9ec28abe5e0ffcd/f427f08b.so for Fcntl
DynaLoader::bootstrap for Cwd (auto/Cwd/Cwd.so)
found /tmp/par-637175/cache-11199021a1608d6df9ec28abe5e0ffcd/79d49540.so for Cwd
DynaLoader::bootstrap for Compress::Raw::Zlib (auto/Compress/Raw/Zlib/Zlib.so)
found /tmp/par-637175/cache-11199021a1608d6df9ec28abe5e0ffcd/82965e7f.so for Compress::Raw::Zlib
DynaLoader::bootstrap for List::Util (auto/List/Util/Util.so)
found /tmp/par-637175/cache-11199021a1608d6df9ec28abe5e0ffcd/c75cefe0.so for List::Util
DynaLoader::bootstrap for Encode (auto/Encode/Encode.so)
found /tmp/par-637175/cache-11199021a1608d6df9ec28abe5e0ffcd/39e584e7.so for Encode
DynaLoader::bootstrap for Data::Dumper (auto/Data/Dumper/Dumper.so)
found /tmp/par-637175/cache-11199021a1608d6df9ec28abe5e0ffcd/ec5f6c39.so for Data::Dumper
DynaLoader::bootstrap for File::Glob (auto/File/Glob/Glob.so)
found /tmp/par-637175/cache-11199021a1608d6df9ec28abe5e0ffcd/6f06096d.so for File::Glob
DynaLoader::bootstrap for PerlIO::scalar (auto/PerlIO/scalar/scalar.so)
found /tmp/par-637175/cache-11199021a1608d6df9ec28abe5e0ffcd/b03ad7bd.so for PerlIO::scalar
DynaLoader::bootstrap for Tie::Hash::NamedCapture (auto/Tie/Hash/NamedCapture/NamedCapture.so)
found /tmp/par-637175/cache-11199021a1608d6df9ec28abe5e0ffcd/70c28b04.so for Tie::Hash::NamedCapture
DynaLoader::bootstrap for attributes (auto/attributes/attributes.so)
found /tmp/par-637175/cache-11199021a1608d6df9ec28abe5e0ffcd/fb337197.so for attributes
DynaLoader seems to be able to find the share library file in the tmp directory
But with 5.24.0:
DynaLoader::bootstrap for Cwd (auto/Cwd/Cwd.so)
found /home/user/cqu/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-linux-thread-multi/auto/Cwd/Cwd.so for Cwd
DynaLoader::bootstrap for IO (auto/IO/IO.so)
found /home/user/cqu/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-linux-thread-multi/auto/IO/IO.so for IO
DynaLoader::bootstrap for Fcntl (auto/Fcntl/Fcntl.so)
found /home/user/cqu/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-linux-thread-multi/auto/Fcntl/Fcntl.so for Fcntl
DynaLoader::bootstrap for Compress::Raw::Zlib (auto/Compress/Raw/Zlib/Zlib.so)
found /home/user/cqu/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so for Compress::Raw::Zlib
DynaLoader::bootstrap for List::Util (auto/List/Util/Util.so)
found /home/user/cqu/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-linux-thread-multi/auto/List/Util/Util.so for List::Util
DynaLoader::bootstrap for Encode (auto/Encode/Encode.so)
found /home/user/cqu/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-linux-thread-multi/auto/Encode/Encode.so for Encode
DynaLoader::bootstrap for Data::Dumper (auto/Data/Dumper/Dumper.so)
found /home/user/cqu/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-linux-thread-multi/auto/Data/Dumper/Dumper.so for Data::Dumper
dl_findfile()
dl_findfile found:
DynaLoader::bootstrap for File::Glob (auto/File/Glob/Glob.so)
found /tmp/par-637175/cache-3a8e16187c7a034a209ade355b4de22b0efc79d8/99a7eb96.so for File::Glob
DynaLoader::bootstrap for PerlIO::scalar (auto/PerlIO/scalar/scalar.so)
found /tmp/par-637175/cache-3a8e16187c7a034a209ade355b4de22b0efc79d8/2704eb0c.so for PerlIO::scalar
DynaLoader::bootstrap for Tie::Hash::NamedCapture (auto/Tie/Hash/NamedCapture/NamedCapture.so)
found /tmp/par-637175/cache-3a8e16187c7a034a209ade355b4de22b0efc79d8/90acfd09.so for Tie::Hash::NamedCapture
DynaLoader::bootstrap for attributes (auto/attributes/attributes.so)
found /tmp/par-637175/cache-3a8e16187c7a034a209ade355b4de22b0efc79d8/a1227989.so for attributes
it couldn't find the share so files in the /tmp directory.
I'm not sure whether there's something wrong while copying the so files to the tmp directory, or the Dynaloader can't locate the so files, I'm leaning towards the later.
If this is not a bug but a wrong setup due to my perl, I apologize about this spam.
Any suggestion would help.
Many thanks in advance,
Chenchen