Crypt-OpenSSL-RSA v0.28 Perl 5 v5.8.7 aarch64-linux-thread-multi

Status
Unknown
From
Nigel Horne
Dist
Crypt-OpenSSL-RSA v0.28
Platform
Perl 5 v5.8.7 aarch64-linux-thread-multi
Date
2018-02-07 05:59:54
ID
1e7f67fc-0bcc-11e8-ac01-5dd6a9fe1f36
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language.  See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org


--
Dear Moritz Onken,

This is a computer-generated report for Crypt-OpenSSL-RSA-0.28
on perl 5.8.7, created by CPAN-Reporter-1.2018.

Thank you for uploading your work to CPAN.  However, attempting to
test your distribution gave an inconclusive result.

This could be because your distribution had an error during the make/build
stage, did not define tests, tests could not be found, because your tests were
interrupted before they finished, or because the results of the tests could not
be parsed.  You may wish to consult the CPAN Testers Wiki:

http://wiki.cpantesters.org/wiki/CPANAuthorNotes

Sections of this report:

    * Tester comments
    * Program output
    * Prerequisites
    * Environment and other context

------------------------------
TESTER COMMENTS
------------------------------

Additional comments from tester:

this report is from an automated smoke testing program
and was not reviewed by a human for accuracy

------------------------------
PROGRAM OUTPUT
------------------------------

Output from '/usr/bin/make -j4 -j4':

Running Mkbootstrap for RSA ()
"/home/njh/perl5/perlbrew/perls/perl-5.8.7/bin/perl" "/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/ExtUtils/xsubpp"  -typemap '/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/ExtUtils/typemap' -typemap '/home/njh/.cpan/build/Crypt-OpenSSL-RSA-0.28-10/typemap'  RSA.xs > RSA.xsc
chmod 644 "RSA.bs"
"/home/njh/perl5/perlbrew/perls/perl-5.8.7/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- RSA.bs blib/arch/auto/Crypt/OpenSSL/RSA/RSA.bs 644
cp RSA.pm blib/lib/Crypt/OpenSSL/RSA.pm
AutoSplitting blib/lib/Crypt/OpenSSL/RSA.pm (blib/lib/auto/Crypt/OpenSSL/RSA)
mv RSA.xsc RSA.c
cc -c   -D_REENTRANT -D_GNU_SOURCE -O2 -W -Wformat=2 -Wswitch -Wshadow -Wwrite-strings -Wuninitialized -Wall -pipe -fomit-frame-pointer -D_FORTIFY_SOURCE=2 -Wpointer-arith -Wstrict-prototypes -fstack-protector -Wstack-protector -Wextra -Wbad-function-cast -Wcast-align -Wcast-qual -Wdisabled-optimization -Wendif-labels -Wfloat-equal -Wformat-nonliteral -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef -Wformat-security -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"0.28\" -DXS_VERSION=\"0.28\" -fpic "-I/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE"  -DPERL5 -DOPENSSL_NO_KRB5 RSA.c
RSA.xs:32:6: warning: no previous prototype for ‘croakSsl’ [-Wmissing-prototypes]
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.xs:50:6: warning: no previous prototype for ‘_is_private’ [-Wmissing-prototypes]
 char _is_private(rsaData* p_rsa)
      ^~~~~~~~~~~
RSA.xs: In function ‘_is_private’:
RSA.xs:52:22: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’
     return(p_rsa->rsa->d != NULL);
                      ^~
RSA.xs: At top level:
RSA.xs:55:5: warning: no previous prototype for ‘make_rsa_obj’ [-Wmissing-prototypes]
 SV* make_rsa_obj(SV* p_proto, RSA* p_rsa)
     ^~~~~~~~~~~~
RSA.xs:68:5: warning: no previous prototype for ‘get_digest_length’ [-Wmissing-prototypes]
 int get_digest_length(int hash_method)
     ^~~~~~~~~~~~~~~~~
RSA.xs:101:16: warning: no previous prototype for ‘get_message_digest’ [-Wmissing-prototypes]
 unsigned char* get_message_digest(SV* text_SV, int hash_method)
                ^~~~~~~~~~~~~~~~~~
RSA.xs:139:5: warning: no previous prototype for ‘bn2sv’ [-Wmissing-prototypes]
 SV* bn2sv(BIGNUM* p_bn)
     ^~~~~
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:718:0,
                 from RSA.xs:2:
RSA.xs: In function ‘bn2sv’:
RSA.xs:142:30: warning: cast from function call of type ‘BIGNUM * {aka struct bignum_st *}’ to non-matching type ‘long int’ [-Wbad-function-cast]
         ? sv_2mortal(newSViv((IV) BN_dup(p_bn)))
                              ^
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/embed.h:2776:46: note: in definition of macro ‘sv_2mortal’
 #define sv_2mortal(a)  Perl_sv_2mortal(aTHX_ a)
                                              ^
RSA.xs:142:22: note: in expansion of macro ‘newSViv’
         ? sv_2mortal(newSViv((IV) BN_dup(p_bn)))
                      ^~~~~~~
RSA.xs: At top level:
RSA.xs:146:5: warning: no previous prototype for ‘extractBioString’ [-Wmissing-prototypes]
 SV* extractBioString(BIO* p_stringBio)
     ^~~~~~~~~~~~~~~~
RSA.xs: In function ‘extractBioString’:
RSA.xs:151:47: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(BIO_flush(p_stringBio) == 1);
                                               ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.xs:155:62: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(BIO_set_close(p_stringBio, BIO_CLOSE) == 1);
                                                              ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.xs: At top level:
RSA.xs:160:6: warning: no previous prototype for ‘_load_rsa_key’ [-Wmissing-prototypes]
 RSA* _load_rsa_key(SV* p_keyStringSv,
      ^~~~~~~~~~~~~
RSA.xs: In function ‘_load_rsa_key’:
RSA.xs:171:75: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(stringBIO = BIO_new_mem_buf(keyString, keyStringLength));
                                                                           ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.xs:175:60: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(BIO_set_close(stringBIO, BIO_CLOSE) == 1);
                                                            ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.xs:178:23: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(rsa);
                       ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.xs: At top level:
RSA.xs:182:5: warning: no previous prototype for ‘rsa_crypt’ [-Wmissing-prototypes]
 SV* rsa_crypt(rsaData* p_rsa, SV* p_from,
     ^~~~~~~~~
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:2056:0,
                 from RSA.xs:2:
RSA.xs: In function ‘rsa_crypt’:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/handy.h:607:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  (void)((n)>((MEM_SIZE)~0)/sizeof(t)?(Perl_croak_nocontext(PL_memory_wrap),0):0)
            ^
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/handy.h:613:28: note: in expansion of macro ‘MEM_WRAP_CHECK’
 #define New(x,v,n,t) (v = (MEM_WRAP_CHECK(n,t), (t*)safemalloc((MEM_SIZE)((n)*sizeof(t)))))
                            ^~~~~~~~~~~~~~
RSA.xs:45:7: note: in expansion of macro ‘New’
   if (New(0, p_var, p_size, p_type) == NULL) \
       ^~~
RSA.xs:194:5: note: in expansion of macro ‘CHECK_NEW’
     CHECK_NEW(to, size, char);
     ^~~~~~~~~
RSA.xs:202:25: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         CHECK_OPEN_SSL(0);
                         ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_new_private_key’:
RSA.c:368:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA__new_public_key_pkcs1’:
RSA.c:391:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA__new_public_key_x509’:
RSA.c:414:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_DESTROY’:
RSA.c:437:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_get_private_key_string’:
RSA.c:461:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.xs:259:52: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(stringBIO = BIO_new(BIO_s_mem()));
                                                    ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_get_public_key_string’:
RSA.c:494:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.xs:273:52: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(stringBIO = BIO_new(BIO_s_mem()));
                                                    ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_get_public_key_x509_string’:
RSA.c:526:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.xs:286:52: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(stringBIO = BIO_new(BIO_s_mem()));
                                                    ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_generate_key’:
RSA.c:558:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.xs:301:5: warning: ‘RSA_generate_key’ is deprecated [-Wdeprecated-declarations]
     CHECK_OPEN_SSL(rsa = RSA_generate_key(SvIV(bitsSV), exponent, NULL, NULL));
     ^~~~~~~~~~~~~~
In file included from /usr/include/openssl/rsa.h:13:0,
                 from /usr/include/openssl/x509.h:31,
                 from /usr/include/openssl/pem.h:17,
                 from RSA.xs:10:
/usr/include/openssl/rsa.h:193:1: note: declared here
 DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
 ^
RSA.xs:301:78: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(rsa = RSA_generate_key(SvIV(bitsSV), exponent, NULL, NULL));
                                                                              ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA__new_key_from_parameters’:
RSA.c:592:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.xs:327:35: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(rsa = RSA_new());
                                   ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.xs:371:29: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             CHECK_OPEN_SSL(0);
                             ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA__get_key_parameters’:
RSA.c:686:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_encrypt’:
RSA.c:723:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_decrypt’:
RSA.c:751:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_private_encrypt’:
RSA.c:783:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_public_decrypt’:
RSA.c:815:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_size’:
RSA.c:843:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_check_key’:
RSA.c:869:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA__random_seed’:
RSA.c:899:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA__random_status’:
RSA.c:925:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_use_md5_hash’:
RSA.c:943:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_use_sha1_hash’:
RSA.c:966:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_use_sha224_hash’:
RSA.c:992:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_use_sha256_hash’:
RSA.c:1015:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_use_sha384_hash’:
RSA.c:1038:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_use_sha512_hash’:
RSA.c:1061:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_use_ripemd160_hash’:
RSA.c:1085:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_use_no_padding’:
RSA.c:1108:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_use_pkcs1_padding’:
RSA.c:1131:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_use_pkcs1_oaep_padding’:
RSA.c:1154:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_use_sslv23_padding’:
RSA.c:1177:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_sign’:
RSA.c:1200:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:2056:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/handy.h:607:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  (void)((n)>((MEM_SIZE)~0)/sizeof(t)?(Perl_croak_nocontext(PL_memory_wrap),0):0)
            ^
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/handy.h:613:28: note: in expansion of macro ‘MEM_WRAP_CHECK’
 #define New(x,v,n,t) (v = (MEM_WRAP_CHECK(n,t), (t*)safemalloc((MEM_SIZE)((n)*sizeof(t)))))
                            ^~~~~~~~~~~~~~
RSA.xs:45:7: note: in expansion of macro ‘New’
   if (New(0, p_var, p_size, p_type) == NULL) \
       ^~~
RSA.xs:576:5: note: in expansion of macro ‘CHECK_NEW’
     CHECK_NEW(signature, RSA_size(p_rsa->rsa), char);
     ^~~~~~~~~
RSA.xs:578:73: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(digest = get_message_digest(text_SV, p_rsa->hashMode));
                                                                         ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.xs:584:40: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
                             p_rsa->rsa));
                                        ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_verify’:
RSA.c:1250:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.xs:605:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (RSA_size(p_rsa->rsa) < sig_length)
                              ^
RSA.xs:610:73: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     CHECK_OPEN_SSL(digest = get_message_digest(text_SV, p_rsa->hashMode));
                                                                         ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.xs:619:44: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             CHECK_OPEN_SSL(ERR_peek_error());
                                            ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.xs:626:29: warning: passing argument 1 of ‘croakSsl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             CHECK_OPEN_SSL(0);
                             ^
RSA.xs:32:6: note: expected ‘char *’ but argument is of type ‘const char *’
 void croakSsl(char* p_file, int p_line)
      ^~~~~~~~
RSA.c: In function ‘XS_Crypt__OpenSSL__RSA_is_private’:
RSA.c:1310:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c: In function ‘boot_Crypt__OpenSSL__RSA’:
RSA.c:1339:5: warning: nested extern declaration of ‘Perl___notused’ [-Wnested-externs]
     dVAR; dXSARGS;
     ^~~~
RSA.c:1344:18: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     char* file = __FILE__;
                  ^~~~~~~~
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:718:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/XSUB.h:223:8: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     vn = "XS_VERSION"), FALSE);  \
        ^
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/embed.h:2629:40: note: in definition of macro ‘get_sv’
 #define get_sv(a,b)  Perl_get_sv(aTHX_ a,b)
                                        ^
RSA.c:1354:5: note: in expansion of macro ‘XS_VERSION_BOOTCHECK’
     XS_VERSION_BOOTCHECK;
     ^~~~~~~~~~~~~~~~~~~~
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/XSUB.h:226:12: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         vn = "VERSION"), FALSE);  \
            ^
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/embed.h:2629:40: note: in definition of macro ‘get_sv’
 #define get_sv(a,b)  Perl_get_sv(aTHX_ a,b)
                                        ^
RSA.c:1354:5: note: in expansion of macro ‘XS_VERSION_BOOTCHECK’
     XS_VERSION_BOOTCHECK;
     ^~~~~~~~~~~~~~~~~~~~
RSA.c:1360:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::new_private_key", XS_Crypt__OpenSSL__RSA_new_private_key);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1361:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::_new_public_key_pkcs1", XS_Crypt__OpenSSL__RSA__new_public_key_pkcs1);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1362:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::_new_public_key_x509", XS_Crypt__OpenSSL__RSA__new_public_key_x509);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1363:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::DESTROY", XS_Crypt__OpenSSL__RSA_DESTROY);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1364:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::get_private_key_string", XS_Crypt__OpenSSL__RSA_get_private_key_string);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1365:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::get_public_key_string", XS_Crypt__OpenSSL__RSA_get_public_key_string);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1366:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::get_public_key_x509_string", XS_Crypt__OpenSSL__RSA_get_public_key_x509_string);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1367:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::generate_key", XS_Crypt__OpenSSL__RSA_generate_key);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1368:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::_new_key_from_parameters", XS_Crypt__OpenSSL__RSA__new_key_from_parameters);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1369:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::_get_key_parameters", XS_Crypt__OpenSSL__RSA__get_key_parameters);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1370:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::encrypt", XS_Crypt__OpenSSL__RSA_encrypt);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1371:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::decrypt", XS_Crypt__OpenSSL__RSA_decrypt);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1372:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::private_encrypt", XS_Crypt__OpenSSL__RSA_private_encrypt);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1373:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::public_decrypt", XS_Crypt__OpenSSL__RSA_public_decrypt);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1374:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::size", XS_Crypt__OpenSSL__RSA_size);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1375:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::check_key", XS_Crypt__OpenSSL__RSA_check_key);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1376:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::_random_seed", XS_Crypt__OpenSSL__RSA__random_seed);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1377:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::_random_status", XS_Crypt__OpenSSL__RSA__random_status);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1378:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::use_md5_hash", XS_Crypt__OpenSSL__RSA_use_md5_hash);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1379:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::use_sha1_hash", XS_Crypt__OpenSSL__RSA_use_sha1_hash);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1381:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::use_sha224_hash", XS_Crypt__OpenSSL__RSA_use_sha224_hash);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1382:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::use_sha256_hash", XS_Crypt__OpenSSL__RSA_use_sha256_hash);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1383:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::use_sha384_hash", XS_Crypt__OpenSSL__RSA_use_sha384_hash);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1384:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::use_sha512_hash", XS_Crypt__OpenSSL__RSA_use_sha512_hash);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1386:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::use_ripemd160_hash", XS_Crypt__OpenSSL__RSA_use_ripemd160_hash);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1387:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::use_no_padding", XS_Crypt__OpenSSL__RSA_use_no_padding);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1388:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::use_pkcs1_padding", XS_Crypt__OpenSSL__RSA_use_pkcs1_padding);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1389:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::use_pkcs1_oaep_padding", XS_Crypt__OpenSSL__RSA_use_pkcs1_oaep_padding);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1390:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::use_sslv23_padding", XS_Crypt__OpenSSL__RSA_use_sslv23_padding);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1391:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::sign", XS_Crypt__OpenSSL__RSA_sign);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1392:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::verify", XS_Crypt__OpenSSL__RSA_verify);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.c:1393:23: warning: passing argument 2 of ‘Perl_newXS’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         newXS_deffile("Crypt::OpenSSL::RSA::is_private", XS_Crypt__OpenSSL__RSA_is_private);
                       ^
RSA.c:358:47: note: in definition of macro ‘newXS_deffile’
 #  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
                                               ^
In file included from /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/perl.h:3813:0,
                 from RSA.xs:2:
/home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi/CORE/proto.h:496:19: note: expected ‘char *’ but argument is of type ‘const char *’
 PERL_CALLCONV CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
                   ^~~~~~~~~~
RSA.xs: In function ‘_is_private’:
RSA.xs:53:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
Makefile:345: recipe for target 'RSA.o' failed
make: *** [RSA.o] Error 1

------------------------------
PREREQUISITES
------------------------------

Prerequisite modules loaded:

requires:

    Module                 Need Have
    ---------------------- ---- ----
    Crypt::OpenSSL::Random 0    0.11
    Test                   0    1.25

build_requires:

    Module                 Need Have
    ---------------------- ---- ----
    ExtUtils::MakeMaker    0    7.30

configure_requires:

    Module                 Need Have
    ---------------------- ---- ----
    ExtUtils::MakeMaker    0    7.30


------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------

Environment variables:

    AUTOMATED_TESTING = 1
    HARNESS_OPTIONS = j4
    LANG = en_US.UTF-8
    LANGUAGE = en_US.UTF-8
    LC_ALL = en_US.UTF-8
    PATH = /home/njh/perl5/perlbrew/bin:/home/njh/perl5/perlbrew/perls/perl-5.8.7/bin:/home/njh/src/njh/smoker/bin:/usr/bin:/bin
    PERL = /home/njh/perl5/perlbrew/perls/perl-5.8.7/bin/perl
    PERL5LIB = /home/njh/.cpan/build/Crypt-OpenSSL-Random-0.11-10/blib/arch:/home/njh/.cpan/build/Crypt-OpenSSL-Random-0.11-10/blib/lib:/home/njh/.cpan/build/Crypt-OpenSSL-Bignum-0.09-10/blib/arch:/home/njh/.cpan/build/Crypt-OpenSSL-Bignum-0.09-10/blib/lib
    PERL5OPT = 
    PERL5_CPANPLUS_IS_RUNNING = 3750
    PERL5_CPAN_IS_RUNNING = 3750
    PERLBREW_HOME = /home/njh/.perlbrew
    PERLBREW_MANPATH = /home/njh/perl5/perlbrew/perls/perl-5.8.7/man
    PERLBREW_PATH = /home/njh/perl5/perlbrew/bin:/home/njh/perl5/perlbrew/perls/perl-5.8.7/bin
    PERLBREW_PERL = perl-5.8.7
    PERLBREW_ROOT = /home/njh/perl5/perlbrew
    PERLBREW_SHELLRC_VERSION = 0.82
    PERLBREW_VERSION = 0.82
    SHELL = /bin/sh

Perl special variables (and OS-specific diagnostics, for MSWin32):

    $^X = /home/njh/perl5/perlbrew/perls/perl-5.8.7/bin/perl
    $UID/$EUID = 1000 / 1000
    $GID = 1000 1000
    $EGID = 1000 1000

Perl module toolchain versions installed:

    Module              Have    
    ------------------- --------
    CPAN                2.16    
    CPAN::Meta          2.143240
    Cwd                 3.62    
    ExtUtils::CBuilder  0.280224
    ExtUtils::Command   7.30    
    ExtUtils::Install   2.06    
    ExtUtils::MakeMaker 7.30    
    ExtUtils::Manifest  1.70    
    ExtUtils::ParseXS   3.30    
    File::Spec          3.62    
    JSON                2.94    
    JSON::PP            2.94    
    Module::Build       0.4224  
    Module::Signature   n/a     
    Parse::CPAN::Meta   1.4414  
    Test::Harness       3.39    
    Test::More          1.302120
    YAML                n/a     
    YAML::Syck          1.30    
    version             0.9918  


--

Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
  Platform:
    osname=linux, osvers=4.9.23-std-1, archname=aarch64-linux-thread-multi
    uname='linux scaleway 4.9.23-std-1 #1 smp mon apr 24 13:18:14 utc 2017 aarch64 gnulinux '
    config_args='-de -Dprefix=/home/njh/perl5/perlbrew/perls/perl-5.8.7 -Duseithreads -Dusemultiplicity -Dusedevel -Accflags=-O2 -W -Wformat=2 -Wswitch -Wshadow -Wwrite-strings -Wuninitialized -Wall -pipe -fomit-frame-pointer -D_FORTIFY_SOURCE=2 -Wpointer-arith -Wstrict-prototypes -fstack-protector -Wstack-protector -Wextra -Wbad-function-cast -Wcast-align -Wcast-qual -Wdisabled-optimization -Wendif-labels -Wfloat-equal -Wformat-nonliteral -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef -Wformat-security -Aeval:scriptdir=/home/njh/perl5/perlbrew/perls/perl-5.8.7/bin'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=define use64bitall=define uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -O2 -W -Wformat=2 -Wswitch -Wshadow -Wwrite-strings -Wuninitialized -Wall -pipe -fomit-frame-pointer -D_FORTIFY_SOURCE=2 -Wpointer-arith -Wstrict-prototypes -fstack-protector -Wstack-protector -Wextra -Wbad-function-cast -Wcast-align -Wcast-qual -Wdisabled-optimization -Wendif-labels -Wfloat-equal -Wformat-nonliteral -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef -Wformat-security -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -O2 -W -Wformat=2 -Wswitch -Wshadow -Wwrite-strings -Wuninitialized -Wall -pipe -fomit-frame-pointer -D_FORTIFY_SOURCE=2 -Wpointer-arith -Wstrict-prototypes -fstack-protector -Wstack-protector -Wextra -Wbad-function-cast -Wcast-align -Wcast-qual -Wdisabled-optimization -Wendif-labels -Wfloat-equal -Wformat-nonliteral -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef -Wformat-security -fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='4.9.2', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib/aarch64-linux-gnu /lib/../lib /usr/lib/aarch64-linux-gnu /usr/lib/../lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=libc-2.19.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.19'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_64_BIT_INT
                        USE_64_BIT_ALL USE_LARGE_FILES
                        PERL_IMPLICIT_CONTEXT
  Locally applied patches:
	Devel::PatchPerl 1.48
  Built under linux
  Compiled at Jun 23 2017 01:38:42
  %ENV:
    PERL="/home/njh/perl5/perlbrew/perls/perl-5.8.7/bin/perl"
    PERL5LIB="/home/njh/.cpan/build/Crypt-OpenSSL-Random-0.11-10/blib/arch:/home/njh/.cpan/build/Crypt-OpenSSL-Random-0.11-10/blib/lib:/home/njh/.cpan/build/Crypt-OpenSSL-Bignum-0.09-10/blib/arch:/home/njh/.cpan/build/Crypt-OpenSSL-Bignum-0.09-10/blib/lib"
    PERL5OPT=""
    PERL5_CPANPLUS_IS_RUNNING="3750"
    PERL5_CPAN_IS_RUNNING="3750"
    PERLBREW_HOME="/home/njh/.perlbrew"
    PERLBREW_MANPATH="/home/njh/perl5/perlbrew/perls/perl-5.8.7/man"
    PERLBREW_PATH="/home/njh/perl5/perlbrew/bin:/home/njh/perl5/perlbrew/perls/perl-5.8.7/bin"
    PERLBREW_PERL="perl-5.8.7"
    PERLBREW_ROOT="/home/njh/perl5/perlbrew"
    PERLBREW_SHELLRC_VERSION="0.82"
    PERLBREW_VERSION="0.82"
  @INC:
    /home/njh/.cpan/build/Crypt-OpenSSL-Random-0.11-10/blib/arch
    /home/njh/.cpan/build/Crypt-OpenSSL-Random-0.11-10/blib/lib
    /home/njh/.cpan/build/Crypt-OpenSSL-Bignum-0.09-10/blib/arch
    /home/njh/.cpan/build/Crypt-OpenSSL-Bignum-0.09-10/blib/lib
    /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7/aarch64-linux-thread-multi
    /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/5.8.7
    /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/site_perl/5.8.7/aarch64-linux-thread-multi
    /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/site_perl/5.8.7
    /home/njh/perl5/perlbrew/perls/perl-5.8.7/lib/site_perl
    .