Skip Menu |

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

Report information
The Basics
Id: 123936
Status: resolved
Priority: 0/
Queue: Crypt-OpenSSL-RSA

People
Owner: Nobody in particular
Requestors: PRIVI [...] cpan.org
Cc:
AdminCc:

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



Subject: XS name colition on bn2sv""
eThe Net::SSLeay module is already using in XS the function name "bn2sv", resulting in compiling error, at least if you try to compile statically. (See attached linkerror.txt) The following short patch fixes this issue: --- failing/Crypt-OpenSSL-RSA-0.28/RSA.xs 2011-08-24 22:57:35.000000000 +0000 +++ working/Crypt-OpenSSL-RSA-0.28/RSA.xs 2017-12-23 20:44:17.182419988 +0000 @@ -136,7 +136,7 @@ } } -SV* bn2sv(BIGNUM* p_bn) +SV* cor_bn2sv(BIGNUM* p_bn) { return p_bn != NULL ? sv_2mortal(newSViv((IV) BN_dup(p_bn))) @@ -387,14 +387,14 @@ { RSA* rsa; rsa = p_rsa->rsa; - XPUSHs(bn2sv(rsa->n)); - XPUSHs(bn2sv(rsa->e)); - XPUSHs(bn2sv(rsa->d)); - XPUSHs(bn2sv(rsa->p)); - XPUSHs(bn2sv(rsa->q)); - XPUSHs(bn2sv(rsa->dmp1)); - XPUSHs(bn2sv(rsa->dmq1)); - XPUSHs(bn2sv(rsa->iqmp)); + XPUSHs(cor_bn2sv(rsa->n)); + XPUSHs(cor_bn2sv(rsa->e)); + XPUSHs(cor_bn2sv(rsa->d)); + XPUSHs(cor_bn2sv(rsa->p)); + XPUSHs(cor_bn2sv(rsa->q)); + XPUSHs(cor_bn2sv(rsa->dmp1)); + XPUSHs(cor_bn2sv(rsa->dmq1)); + XPUSHs(cor_bn2sv(rsa->iqmp)); } SV*
Subject: linkerror.txt
cc -ldl -L/usr/local/lib RSA.o -Os ./perlmain.o -o perl "blib/arch/auto/Crypt/OpenSSL/RSA/RSA.a" "/opt/lala2/perl/perl/lib/auto/threads/threads.a" "/opt/lala2/perl/perl/lib/auto/threads/shared/shared.a" "/opt/lala2/perl/perl/lib/auto/re/re.a" "/opt/lala2/perl/perl/lib/auto/mro/mro.a" "/opt/lala2/perl/perl/lib/auto/attributes/attributes.a" "/opt/lala2/perl/perl/lib/auto/arybase/arybase.a" "/opt/lala2/perl/perl/lib/auto/Unicode/Normalize/Normalize.a" "/opt/lala2/perl/perl/lib/auto/Unicode/Collate/Collate.a" "/opt/lala2/perl/perl/lib/auto/Time/Piece/Piece.a" "/opt/lala2/perl/perl/lib/auto/Time/HiRes/HiRes.a" "/opt/lala2/perl/perl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.a" "/opt/lala2/perl/perl/lib/auto/Test/LeakTrace/LeakTrace.a" "/opt/lala2/perl/perl/lib/auto/Sys/Syslog/Syslog.a" "/opt/lala2/perl/perl/lib/auto/Sys/Hostname/Hostname.a" "/opt/lala2/perl/perl/lib/auto/Storable/Storable.a" "/opt/lala2/perl/perl/lib/auto/Socket/Socket.a" "/opt/lala2/perl/perl/lib/auto/SDBM_File/SDBM_File.a" "/opt/lala2/perl/perl/lib/auto/PerlIO/via/via.a" "/opt/lala2/perl/perl/lib/auto/PerlIO/scalar/scalar.a" "/opt/lala2/perl/perl/lib/auto/PerlIO/mmap/mmap.a" "/opt/lala2/perl/perl/lib/auto/PerlIO/encoding/encoding.a" "/opt/lala2/perl/perl/lib/auto/PPI/XS/XS.a" "/opt/lala2/perl/perl/lib/auto/POSIX/POSIX.a" "/opt/lala2/perl/perl/lib/auto/POE/Filter/SSL/SSL.a" "/opt/lala2/perl/perl/lib/auto/Opcode/Opcode.a" "/opt/lala2/perl/perl/lib/auto/Net/SSLeay/SSLeay.a" "/opt/lala2/perl/perl/lib/auto/Math/BigInt/FastCalc/FastCalc.a" "/opt/lala2/perl/perl/lib/auto/MIME/Base64/Base64.a" "/opt/lala2/perl/perl/lib/auto/List/Util/Util.a" "/opt/lala2/perl/perl/lib/auto/JSON/XS/XS.a" "/opt/lala2/perl/perl/lib/auto/IPC/SysV/SysV.a" "/opt/lala2/perl/perl/lib/auto/IO/Tty/Tty.a" "/opt/lala2/perl/perl/lib/auto/IO/IO.a" "/opt/lala2/perl/perl/lib/auto/I18N/Langinfo/Langinfo.a" "/opt/lala2/perl/perl/lib/auto/Hash/Util/Util.a" "/opt/lala2/perl/perl/lib/auto/Hash/Util/FieldHash/FieldHash.a" "/opt/lala2/perl/perl/lib/auto/HTML/Parser/Parser.a" "/opt/lala2/perl/perl/lib/auto/Filter/Util/Call/Call.a" "/opt/lala2/perl/perl/lib/auto/File/Glob/Glob.a" "/opt/lala2/perl/perl/lib/auto/File/DosGlob/DosGlob.a" "/opt/lala2/perl/perl/lib/auto/Fcntl/Fcntl.a" "/opt/lala2/perl/perl/lib/auto/Encode/Unicode/Unicode.a" "/opt/lala2/perl/perl/lib/auto/Encode/TW/TW.a" "/opt/lala2/perl/perl/lib/auto/Encode/Symbol/Symbol.a" "/opt/lala2/perl/perl/lib/auto/Encode/KR/KR.a" "/opt/lala2/perl/perl/lib/auto/Encode/JP/JP.a" "/opt/lala2/perl/perl/lib/auto/Encode/Encode.a" "/opt/lala2/perl/perl/lib/auto/Encode/EBCDIC/EBCDIC.a" "/opt/lala2/perl/perl/lib/auto/Encode/CN/CN.a" "/opt/lala2/perl/perl/lib/auto/Encode/Byte/Byte.a" "/opt/lala2/perl/perl/lib/auto/Digest/SHA3/SHA3.a" "/opt/lala2/perl/perl/lib/auto/Digest/SHA/SHA.a" "/opt/lala2/perl/perl/lib/auto/Digest/MD5/MD5.a" "/opt/lala2/perl/perl/lib/auto/Devel/Size/Size.a" "/opt/lala2/perl/perl/lib/auto/Devel/Peek/Peek.a" "/opt/lala2/perl/perl/lib/auto/Data/Dumper/Dumper.a" "/opt/lala2/perl/perl/lib/auto/Cwd/Cwd.a" "/opt/lala2/perl/perl/lib/auto/Crypt/Rijndael/Rijndael.a" "/opt/lala2/perl/perl/lib/auto/Crypt/OpenSSL/Random/Random.a" "/opt/lala2/perl/perl/lib/auto/Crypt/OpenSSL/Bignum/Bignum.a" "/opt/lala2/perl/perl/lib/auto/Compress/Raw/Zlib/Zlib.a" "/opt/lala2/perl/perl/lib/auto/Compress/Raw/Bzip2/Bzip2.a" "/opt/lala2/perl/perl/lib/auto/Clone/Clone.a" "/opt/lala2/perl/perl/lib/auto/B/B.a" "/opt/lala2/perl/perl/lib/CORE/libperl.a" `cat blib/arch/auto/Crypt/OpenSSL/RSA/extralibs.all` -lm -lcrypt /opt/lala2/perl/perl/lib/auto/Net/SSLeay/SSLeay.a(SSLeay.o): In function `bn2sv': /opt/lala2/perl/cpan/build/Net-SSLeay-1.82-1/SSLeay.xs:1633: multiple definition of `bn2sv' RSA.o:/opt/lala2/perl/cpan/build/Crypt-OpenSSL-RSA-0.28-5/RSA.xs:143: first defined here collect2: error: ld returned 1 exit status