Skip Menu |

This queue is for tickets about the Crypt-OpenSSL-RSA CPAN distribution.

Report information
The Basics
Id: 75182
Status: rejected
Priority: 0/
Queue: Crypt-OpenSSL-RSA

People
Owner: Nobody in particular
Requestors: shmuel+bitcard.org [...] patriot.net
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: (no value)



Subject: Install problem for crypt-openssl-rsa-0.28 under OS/2
Load failure for _boot_Crypt__OpenSSL__RSA during build under Perl 5.10.0 on eComStation 2.0 GA (rebranded OS/2 4.52). RSA.def has EXPORTS boot_Crypt__OpenSSL__RSA should be EXPORTS _boot_Crypt__OpenSSL__RSA
I might be able to manipulate it based on $^O. What do you get from: perl -E 'say $^O'
I should have bothered to look at the before commenting. So the issue looks like DynaLoader misbehaving. Can you try upgrading that to see the effect? What version are you running? perl -MDynaLoader -E 'say $DynaLoader::VERSION'
Subject: Re: [rt.cpan.org #75182] Install problem for crypt-openssl-rsa-0.28 under OS/2
Date: Tue, 21 Feb 2012 07:12:23 -0500
To: "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA [...] rt.cpan.org>
From: Shmuel (Seymour J.) Metz <shmuel+gen [...] patriot.net>
In <rt-3.8.HEAD-10815-1329799522-1797.75182-6-0@rt.cpan.org>, on 02/20/2012 at 11:45 PM, "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA@rt.cpan.org> said: Show quoted text
>perl -E 'say $^O'
An empty line, But perl -V gives me [h:\]perl -V Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=os2, osvers=2.45, archname=os2 uname='os2 dev.smedley.inf 1 2.45 i386 i386 authenticamd os2 ' config_args='-Dprefix=Q:/PROGRAMS/PERL' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=y, bincompat5005=undef Compiler: cc='gcc', ccflags ='-DDOSISH -DOS2=2 -DEMBED -I. -fno-strict-aliasing -pipe -I/usr/local/include', optimize='-O2 -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -s', cppflags='-DDOSISH -DOS2=2 -DEMBED -I. -fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='3.3.5 (Bird Build 2007-06-10 14:30)', 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 ='-Zomf -Zhigh-mem -Zstack 32000 ' libpth=/usr/lib /usr/lib/gcc-lib/i386-pc-os2-emx/3.3.5 /extras/lib /dev/qt/t runk/lib /openldap/lib /cups/lib Q:/os2tk45/lib q:/usr/local/OPENSSL/lib Q:/os2tk45/lib q:/usr/local/OPENSSL/lib libs=-lsocket perllibs=-lsocket libc=/usr/lib/libc_dll.a, so=dll, useshrplib=true, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-Zdll', lddlflags='-Zdll -Zomf ' Characteristics of this binary (from libperl): Compile-time options: MYMALLOC PERL_DONT_CREATE_GVSV PERL_USES_PL_PIDSTATUS USE_LARGE_FILES USE_PERLIO Built under os2 Compiled at Dec 26 2007 13:37:17 %ENV: PERLDIR="Q:\PROGRAMS\PERL" PERLLIB_PREFIX="/PERL5/LIB;Q:/PROGRAMS/PERL/lib" PERL_SH_DIR="Q:/PROGRAMS/PERL/bin" @INC: Q:/PROGRAMS/PERL/lib/5.10.0/os2 Q:/PROGRAMS/PERL/lib/5.10.0 Q:/PROGRAMS/PERL/lib/site_perl/5.10.0/os2 Q:/PROGRAMS/PERL/lib/site_perl/5.10.0 . -- Shmuel (Seymour J.) Metz, SysProg and JOAT Atid/2 <http://patriot.net/~shmuel> We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003)
Subject: Re: [rt.cpan.org #75182] Install problem for crypt-openssl-rsa-0.28 under OS/2
Date: Tue, 21 Feb 2012 07:13:25 -0500
To: "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA [...] rt.cpan.org>
From: Shmuel (Seymour J.) Metz <shmuel+gen [...] patriot.net>
In <rt-3.8.HEAD-10815-1329800472-1457.75182-6-0@rt.cpan.org>, on 02/21/2012 at 12:01 AM, "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA@rt.cpan.org> said: Show quoted text
>perl -MDynaLoader -E 'say $DynaLoader::VERSION'
1.08 -- Shmuel (Seymour J.) Metz, SysProg and JOAT Atid/2 <http://patriot.net/~shmuel> We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003)
RT-Send-CC: shmuel+gen [...] patriot.net
For starters, It's very bad if $^O is truly blank as you say. This might be the source of your problem. If this is not the case, then the problem is with ExtUtils::MakeMaker since it's what defines those exports. See the subroutine _write_os2 in https://metacpan.org/source/ExtUtils::Mksymlists It's possible the problem can be fixed simply by updating from an old EU::MM. What do you get from: perl -MExtUtils::MakeMaker -e 'print $ExtUtils::MakeMaker::VERSION . "\n$^O\n"'
Subject: Re: [rt.cpan.org #75182] Install problem for crypt-openssl-rsa-0.28 under OS/2
Date: Tue, 21 Feb 2012 19:51:07 -0500
To: "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA [...] rt.cpan.org>
From: Shmuel (Seymour J.) Metz <shmuel+gen [...] patriot.net>
In <rt-3.8.HEAD-10811-1329862200-1599.75182-7-0@rt.cpan.org>, on 02/21/2012 at 05:10 PM, "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA@rt.cpan.org> said: Show quoted text
>For starters, It's very bad if $^O is truly blank as you say.
What I said is that the command gives blank output, not that $^O itself is blank. I've used $^O in my code and it has the expected value ('os2'), so the problem probably is an issue with perl -E under OS/2. I've seen it in other contexts. Show quoted text
>See the subroutine _write_os2 in >https://metacpan.org/source/ExtUtils::Mksymlists
It seems to just write the FUNCLIST element of the hash passed to it; it would be up to the caller to prepend a _ in line 36 and 43, as far as I can see. OTOH, I don't really understand how MakeMaker is supposed to work. Show quoted text
>perl -MExtUtils::MakeMaker -e 'print $ExtUtils::MakeMaker::VERSION . >"\n$^O\n"'
6.62 os2 BTW, I never tried installing the Crypto packages on anything older than 5.10.0. -- Shmuel (Seymour J.) Metz, SysProg and JOAT Atid/2 <http://patriot.net/~shmuel> We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003)
RT-Send-CC: shmuel+gen [...] patriot.net
Show quoted text
> as I can see. OTOH, I don't really understand how MakeMaker is > supposed to work.
Nor I, but I was speaking with someone today about your ticket and he helped me to point you to this information. His comment was that because you were using gcc on OS2, which was not expected, EU:MM should detect that and push in the underscore into the export list. You are running the latest EU::MM, which means it needs a patch to make it work like you want Show quoted text
> BTW, I never tried installing the Crypto packages on anything older > than 5.10.0.
Perl age is not really the issue here as best I can tell. Nor is Crypto. It's my guess that one of the following applies: 1. You cannot build ANY XS based module: Try DBD::SQLite or YAML::Syck? 2. You cannot build any XS module which links to an external library: Try XML::LibXML or XML::Parser or XML::LibXSLT
Subject: Re: [rt.cpan.org #75182] Install problem for crypt-openssl-rsa-0.28 under OS/2
Date: Wed, 22 Feb 2012 10:42:28 -0500
To: "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA [...] rt.cpan.org>
From: Shmuel (Seymour J.) Metz <shmuel+gen [...] patriot.net>
In <rt-3.8.HEAD-10811-1329881055-1074.75182-7-0@rt.cpan.org>, on 02/21/2012 at 10:24 PM, "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA@rt.cpan.org> said: Show quoted text
>Nor I, but I was speaking with someone today about your ticket and he >helped me to point you to this information. His comment was that >because you were using gcc on OS2, which was not expected,
Well, it's certainly possible to test $Config{cc}; I just don't know whether every export of boot_foo has to be _boot_foo or whether it has to be more selective. would changing the code in f:\perl5\lib\5.14.2\ExtUtils\Mksymlists.pm to the following cause collateral damage? if (defined $spec{DL_FUNCS}) { my $bootpfx = $^O eq 'os2' && $Config{cc} eq 'gcc' ? '_' : ''; foreach my $package (keys %{$spec{DL_FUNCS}}) { my($packprefix,$bootseen); ($packprefix = $package) =~ s/\W/_/g; foreach my $sym (@{$spec{DL_FUNCS}->{$package}}) { if ($sym =~ /^boot_/) { push(@{$spec{FUNCLIST}},$bootpfx$sym); $bootseen++; } else { push(@{$spec{FUNCLIST}},"XS_${packprefix}_$sym"); } } push(@{$spec{FUNCLIST}},"${bootpfx}boot_$packprefix") unless $bootseen; } } -- Shmuel (Seymour J.) Metz, SysProg and JOAT Atid/2 <http://patriot.net/~shmuel> We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003)
Subject: Re: [rt.cpan.org #75182] Install problem for crypt-openssl-rsa-0.28 under OS/2
Date: Fri, 24 Feb 2012 09:59:11 -0500
To: "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA [...] rt.cpan.org>
From: Shmuel (Seymour J.) Metz <shmuel+gen [...] patriot.net>
In <rt-3.8.HEAD-10811-1329881055-1074.75182-7-0@rt.cpan.org>, on 02/21/2012 at 10:24 PM, "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA@rt.cpan.org> said: Show quoted text
>Nor I, but I was speaking with someone today about your ticket and he >helped me to point you to this information. His comment was that >because you were using gcc on OS2, which was not expected, EU:MM >should detect that and push in the underscore into the export list. >You are running the latest EU::MM, which means it needs a patch to >make it work like you want
The attached patch seems to fix it for the case I encountered. Do you want me to download and test any of DBD::SQLite, YAML::Syck, XML::LibXML, XML::Parser or XML::LibXSLT? Do I need to create a separate RT incident for ExtUtils::Mksymlists? A couple of notes on the patch. 1. It will not work on anything older that Perl 5.10.0 unless the version module is installed. 2. I'm assuming that the underscore is only needed for the exports of the boot_foo symbols; if it is needed for all exported symbols then the change would have to go into _write_os2 -- Shmuel (Seymour J.) Metz, SysProg and JOAT Atid/2 <http://patriot.net/~shmuel> We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003)
--- h:\temp\Mksymlists.pm.base 2011-10-23 19:44:10.000000000 -0400 +++ q:\PROGRAMS\PERL\lib\5.10.0\extutils\Mksymlists.pm 2012-02-24 09:48:44.000000000 -0500 @@ -27,19 +27,23 @@ unless ( ($spec{DL_FUNCS} and keys %{$spec{DL_FUNCS}}) or @{$spec{FUNCLIST}}); if (defined $spec{DL_FUNCS}) { + use version; + $Config{gccversion} =~ /^(\d++(\.\d++)++)\s.*+/; + my $gccversion = version->parse($1); + my $bootpfx = $^O eq 'os2' && $Config{cc} =~ /^gcc/i && $gccversion >= '3.2.2' ? '_' : ''; foreach my $package (keys %{$spec{DL_FUNCS}}) { my($packprefix,$bootseen); ($packprefix = $package) =~ s/\W/_/g; foreach my $sym (@{$spec{DL_FUNCS}->{$package}}) { if ($sym =~ /^boot_/) { - push(@{$spec{FUNCLIST}},$sym); + push(@{$spec{FUNCLIST}},$bootpfx.$sym); $bootseen++; } else { push(@{$spec{FUNCLIST}},"XS_${packprefix}_$sym"); } } - push(@{$spec{FUNCLIST}},"boot_$packprefix") unless $bootseen; + push(@{$spec{FUNCLIST}},"${bootpfx}boot_$packprefix") unless $bootseen; } }
application/octet-stream base64>-
Symor, Yes, the bug is nothing to do with Crypt::OpenSSL::RSA per se, so should be opened under ExtUtils::MakeMaker. That package is what's responsible for building XS for this module. As for testing the other modules, this would be useful information when you open the ticket with EU::MM to let them know if the problem is across all XS or XS that does linking. I'm closing this ticket for now. Feel free to re-open this ticket if they tell you the problem is over here. Thanks, Todd
Subject: Re: [rt.cpan.org #75182] Install problem for crypt-openssl-rsa-0.28 under OS/2
Date: Fri, 24 Feb 2012 11:21:17 -0500
To: "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA [...] rt.cpan.org>
From: Shmuel (Seymour J.) Metz <shmuel+gen [...] patriot.net>
In <rt-3.8.HEAD-10808-1330096801-1280.75182-6-0@rt.cpan.org>, on 02/24/2012 at 10:20 AM, "Todd Rinaldo via RT" <bug-Crypt-OpenSSL-RSA@rt.cpan.org> said: Show quoted text
>Symor,
That's Seymour! Show quoted text
>I'm closing this ticket for now.
You may want to cross-referrence it and 75181 to 75278. The only open issue in 75181 is the missing -Lz; the patch should fix the others. 75182 is completely resolved by the patch. Thanks. -- Shmuel (Seymour J.) Metz, SysProg and JOAT Atid/2 <http://patriot.net/~shmuel> We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003)
Not relevant to this module.
Not relevant to this module.