nayakgi / perl-compiler

Automatically exported from code.google.com/p/perl-compiler
Other
0 stars 0 forks source link

Cannot lazy load BSD::Resource (DynaLoader::bootstrap) #308

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

> perlcc -r -e 'eval q{require BSD::Resource; 1;} and print qq{ok\n}'
> perl -e 'eval q{require BSD::Resource; 1;} and print qq{ok\n}'
ok

perl v5.14.4
B::C at 1.45 HEAD=0506953
Need to have BSD::Resource available 1.2907 ( or 1.2904 same issue )

Please use labels and text to provide additional information.

Original issue reported on code.google.com by nicolas....@gmail.com on 4 Apr 2014 at 12:37

GoogleCodeExporter commented 9 years ago
more debug info

Can't locate auto/BSD/Resource/bootstrap.al in @INC (@INC contains: 
/usr/local/cpanel/perl /usr/local/cpanel /root/perl5/lib/perl5/ 
/usr/local/cpanel /root/perl5/lib/perl5/ /usr/local/cpanel 
/usr/local/cpanel/3rdparty/perl/514/lib/perl5/cpanel_lib/i386-linux-64int 
/usr/local/cpanel/3rdparty/perl/514/lib/perl5/cpanel_lib 
/usr/local/cpanel/3rdparty/perl/514/lib/perl5/5.14.4/i386-linux-64int 
/usr/local/cpanel/3rdparty/perl/514/lib/perl5/5.14.4 
/opt/cpanel/perl5/514/site_lib/i386-linux-64int /opt/cpanel/perl5/514/site_lib) 
at 
/usr/local/cpanel/3rdparty/perl/514/lib/perl5/cpanel_lib/i386-linux-64int/BSD/Re
source.pm line 77.
 at /usr/local/cpanel/3rdparty/perl/514/lib/perl5/cpanel_lib/AutoLoader.pm line 47.
    AutoLoader::AUTOLOAD("BSD::Resource") called at /usr/local/cpanel/3rdparty/perl/514/lib/perl5/cpanel_lib/i386-linux-64int/BSD/Resource.pm line 77
    require BSD/Resource.pm called at (eval 1) line 1

Original comment by nicolas....@gmail.com on 4 Apr 2014 at 12:45

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
We miss the method resolution to DynaLoader::bootstrap, the modules @ISA is not 
stored. 
This is also the underlying reason, why we use DynaLoader::bootstrap_inherit 
internally in dl_init.

Original comment by reini.urban on 5 Apr 2014 at 2:12

GoogleCodeExporter commented 9 years ago

Original comment by reini.urban on 5 Apr 2014 at 2:12

GoogleCodeExporter commented 9 years ago
Correction: It's not that the @BSD::Resource::ISA is not stored, the compiler 
does not know about it.

Original comment by reini.urban on 5 Apr 2014 at 2:15

GoogleCodeExporter commented 9 years ago
For now beware that you cannot lazy load modules which use DynaLoader and 
AutoLoader.

Original comment by reini.urban on 5 Apr 2014 at 2:23

GoogleCodeExporter commented 9 years ago
DynaLoader and AutoLoader packages: 
core: IPC::SysV DB_File
cpan: Net::LibIDN Net::SSLeay BSD::Resource

Reproducable with cpanel perl with: BSD::Resource  IPC::SysV
Not repro on other systems (macosx, linux)

Other errors: Missing %Config at Errno.pm: Net::SSLeay Net::LibIDN

Original comment by reini.urban on 8 Apr 2014 at 6:22

GoogleCodeExporter commented 9 years ago
The @ISA related problem is fixed now in branch dl-308, tested ok on all cpanel 
and normal perl 5.14.

Missing %Config at Errno.pm in run-time loaded Net::SSLeay Net::LibIDN (and 
probably more) in a seperate ticket

Original comment by reini.urban on 8 Apr 2014 at 7:21