{"thread":{"id":"46141","subject":"Re: send-email: Net::SSLeay failure","startedAt":"2017-06-08T01:33:38Z","lastAt":"2017-06-08T09:59:29Z","messageCount":5,"participants":["Samuel Lijin","Ævar Arnfjörð Bjarmason"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"321729","messageId":"CAJZjrdU=743ikOCxCJ9stQ5qZsndZDXt1jquxGwBrid4YhVsGA@mail.gmail.com","threadId":"46141","inReplyTo":null,"subject":"Re: send-email: Net::SSLeay failure","fromName":"Samuel Lijin","fromEmail":"sxlijin@gmail.com","sentAt":"2017-06-08T01:32:51Z","receivedAt":"2017-06-08T01:33:38Z","isPatch":false,"sender":{"key":"sxlijin@gmail.com","avatar":"https://gravatar.com/avatar/01777bf1eae64e2b4dca97dcac182a6abbcf6fd8cb4d5b8fa33edf9f8cc21746?d=mp&s=160"},"body":"On Wed, Jun 7, 2017 at 8:26 PM, Liam Breck <liam@networkimprov.net> wrote:\n> On Wed, Jun 7, 2017 at 5:06 PM, Samuel Lijin <sxlijin@gmail.com> wrote:\n>> On Wed, Jun 7, 2017 at 4:43 PM, Ævar Arnfjörð Bjarmason\n>> <avarab@gmail.com> wrote:\n>>> Ah, so you installed Net::SSLeay via CPAN, and then upgraded your Arch\n>>> openssl, breaking the CPAN-built *.so object?\n>>>\n>>>> Agreed that send-email should be report errors properly. It's a rather\n>>>> essential tool.\n>>>\n>>> Indeed, do you get a meaningful error if you apply my patch?\n>>\n>> FWIW I'm on Arch as well and am getting what I assume is a related error:\n>>\n>> SSLeay.c: loadable library and perl binaries are mismatched (got\n>> handshake key 0xdb80080, needed 0xde00080)\n>>\n>> The last patch I sent out was on 5/23, and I just ran a system upgrade\n>> today (only one I've done since then), which presumably is what\n>> \"broke\" send-email. I used CPAN to install Net::SMTP::SSL,\n>> Mime::Base64, and Authen::SASL; I assume that Net::SSLeay is installed\n>> as a dependency of one of the three (presumably the first)?\n>>\n>> I know Net::SSLeay isn't controlled by Arch's package manager:\n>>\n>> $ perldoc -l Net::SSLeay\n>> /usr/lib/perl5/site_perl/Net/SSLeay.pod\n>> $ pacman -Qo /usr/lib/perl5/site_perl/Net/SSLeay.pod\n>> error: No package owns /usr/lib/perl5/site_perl/Net/SSLeay.pod\n>>\n>> Ævar's patch unfortunately does not fix or change anything for me.\n>\n> Right because it attempts to log a diff issue.\n>\n>> Liam: when you say \"uninstall\" /usr/{lib,share}/perl5/site_perl/*, do\n>> you just mean rm -rf?\n>\n> You need these new arch packages:\n> perl-mime-tools perl-net-smtp-ssl perl-authen-sasl\n>\n> To uninstall the cpan stuff I did this in case I need to put anything back\n>\n> mkdir -p siteperl_uninstall/{lib,share}\n> sudo mv /usr/share/perl5/site_perl/*  siteperl_uninstall/share/\n> sudo mv /usr/lib/perl5/site_perl/*  siteperl_uninstall/lib/\n>\n> You could comment on this issue here\n> https://bugs.archlinux.org/task/54334\n\nChanged the subject line; my issue seems to be less related to yours\nthan I thought. I followed the steps you describe and I'm still\ngetting the mismatch error I mentioned above.\n\nThe closest I've gotten to figuring this out is that for some reason\nSSLeay.so is unhappy:\n\n$ ldd -r /usr/lib/perl5/vendor_perl/auto/Net/SSLeay/SSLeay.so\n                                linux-vdso.so.1 (0x00007ffc67fb0000)\n        libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007f891e58b000)\n        libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007f891e110000)\n        libc.so.6 => /usr/lib64/libc.so.6 (0x00007f891dd6b000)\n        libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f891db4d000)\n        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f891d949000)\n        /usr/lib64/ld-linux-x86-64.so.2 (0x00005598da604000)\nundefined symbol: PL_thr_key\n(/usr/lib/perl5/vendor_perl/auto/Net/SSLeay/SSLeay.so)\nundefined symbol: Perl_sv_setnv_mg\n(/usr/lib/perl5/vendor_perl/auto/Net/SSLeay/SSLea\n[many more undefined symbol errors]\n\nÆvar and anyone else familiar with Perl, any ideas? The best I can get\nfrom the Arch forums is that this tends to occur when perl calls an\nexternal lib built against a different version of perl, but I can't\ntell if that's happening here.\n"},{"id":"321733","messageId":"CACBZZX5wr2k0+i-0CKde_P5key=b+mh0jf47D9oJ449j=MohSw@mail.gmail.com","threadId":"46141","inReplyTo":"CAJZjrdU=743ikOCxCJ9stQ5qZsndZDXt1jquxGwBrid4YhVsGA@mail.gmail.com","subject":"Re: send-email: Net::SSLeay failure","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-06-08T06:27:04Z","receivedAt":"2017-06-08T06:27:31Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Thu, Jun 8, 2017 at 3:32 AM, Samuel Lijin <sxlijin@gmail.com> wrote:\n> On Wed, Jun 7, 2017 at 8:26 PM, Liam Breck <liam@networkimprov.net> wrote:\n>> On Wed, Jun 7, 2017 at 5:06 PM, Samuel Lijin <sxlijin@gmail.com> wrote:\n>>> On Wed, Jun 7, 2017 at 4:43 PM, Ævar Arnfjörð Bjarmason\n>>> <avarab@gmail.com> wrote:\n>>>> Ah, so you installed Net::SSLeay via CPAN, and then upgraded your Arch\n>>>> openssl, breaking the CPAN-built *.so object?\n>>>>\n>>>>> Agreed that send-email should be report errors properly. It's a rather\n>>>>> essential tool.\n>>>>\n>>>> Indeed, do you get a meaningful error if you apply my patch?\n>>>\n>>> FWIW I'm on Arch as well and am getting what I assume is a related error:\n>>>\n>>> SSLeay.c: loadable library and perl binaries are mismatched (got\n>>> handshake key 0xdb80080, needed 0xde00080)\n>>>\n>>> The last patch I sent out was on 5/23, and I just ran a system upgrade\n>>> today (only one I've done since then), which presumably is what\n>>> \"broke\" send-email. I used CPAN to install Net::SMTP::SSL,\n>>> Mime::Base64, and Authen::SASL; I assume that Net::SSLeay is installed\n>>> as a dependency of one of the three (presumably the first)?\n>>>\n>>> I know Net::SSLeay isn't controlled by Arch's package manager:\n>>>\n>>> $ perldoc -l Net::SSLeay\n>>> /usr/lib/perl5/site_perl/Net/SSLeay.pod\n>>> $ pacman -Qo /usr/lib/perl5/site_perl/Net/SSLeay.pod\n>>> error: No package owns /usr/lib/perl5/site_perl/Net/SSLeay.pod\n>>>\n>>> Ævar's patch unfortunately does not fix or change anything for me.\n>>\n>> Right because it attempts to log a diff issue.\n>>\n>>> Liam: when you say \"uninstall\" /usr/{lib,share}/perl5/site_perl/*, do\n>>> you just mean rm -rf?\n>>\n>> You need these new arch packages:\n>> perl-mime-tools perl-net-smtp-ssl perl-authen-sasl\n>>\n>> To uninstall the cpan stuff I did this in case I need to put anything back\n>>\n>> mkdir -p siteperl_uninstall/{lib,share}\n>> sudo mv /usr/share/perl5/site_perl/*  siteperl_uninstall/share/\n>> sudo mv /usr/lib/perl5/site_perl/*  siteperl_uninstall/lib/\n>>\n>> You could comment on this issue here\n>> https://bugs.archlinux.org/task/54334\n>\n> Changed the subject line; my issue seems to be less related to yours\n> than I thought. I followed the steps you describe and I'm still\n> getting the mismatch error I mentioned above.\n>\n> The closest I've gotten to figuring this out is that for some reason\n> SSLeay.so is unhappy:\n>\n> $ ldd -r /usr/lib/perl5/vendor_perl/auto/Net/SSLeay/SSLeay.so\n>                                 linux-vdso.so.1 (0x00007ffc67fb0000)\n>         libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007f891e58b000)\n>         libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007f891e110000)\n>         libc.so.6 => /usr/lib64/libc.so.6 (0x00007f891dd6b000)\n>         libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f891db4d000)\n>         libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f891d949000)\n>         /usr/lib64/ld-linux-x86-64.so.2 (0x00005598da604000)\n> undefined symbol: PL_thr_key\n> (/usr/lib/perl5/vendor_perl/auto/Net/SSLeay/SSLeay.so)\n> undefined symbol: Perl_sv_setnv_mg\n> (/usr/lib/perl5/vendor_perl/auto/Net/SSLeay/SSLea\n> [many more undefined symbol errors]\n>\n> Ævar and anyone else familiar with Perl, any ideas? The best I can get\n> from the Arch forums is that this tends to occur when perl calls an\n> external lib built against a different version of perl, but I can't\n> tell if that's happening here.\n\nDo you mean why does it emit a bunch of \"undefined symbol\" errors?\nThat's perfectly normal, it's because you're pointing ldd at a library\nthat expects symbols from libperl, since that'll be loaded first when\nit's run, but the stand-alone invocation doesn't have that, I get the\nsame on Debian.\n\n$ ldd -r /usr/lib/x86_64-linux-gnu/perl5/5.24/auto/Net/SSLeay/SSLeay.so\n2>&1|grep -c 'undefined symbol'\n56\n$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libperl.so.5.24 ldd -r\n/usr/lib/x86_64-linux-gnu/perl5/5.24/auto/Net/SSLeay/SSLeay.so 2>&1 |\ngrep -c 'undefined symbol'\n0\n\nThat by itself does not suggest the library is broken, and your\nversion seems to link to a working libssl.\n"},{"id":"321739","messageId":"CAJZjrdWkqNVLgZ5KYQ33zjO25raLhAHGxqPezjUsQ692wKTudg@mail.gmail.com","threadId":"46141","inReplyTo":"CACBZZX5wr2k0+i-0CKde_P5key=b+mh0jf47D9oJ449j=MohSw@mail.gmail.com","subject":"Re: send-email: Net::SSLeay failure","fromName":"Samuel Lijin","fromEmail":"sxlijin@gmail.com","sentAt":"2017-06-08T09:06:25Z","receivedAt":"2017-06-08T09:07:10Z","isPatch":false,"sender":{"key":"sxlijin@gmail.com","avatar":"https://gravatar.com/avatar/01777bf1eae64e2b4dca97dcac182a6abbcf6fd8cb4d5b8fa33edf9f8cc21746?d=mp&s=160"},"body":"Sorry, I should've been clearer. Currently send-email fails for me\nwith this error:\n\nSSLeay.c: loadable library and perl binaries are mismatched (got\nhandshake key 0xdb80080, needed 0xde00080)\n\nI thought the undefined symbol stuff in the .so could have been part\nof the problem, but I guess not. None of the fixes that worked for\nLiam worked for me either, so I'm not quite sure where the issue is.\nThe closest I've found to a meaningful suggestion for the error is\nthat Perl is relying on a library built against a different version of\nPerl, but I have no idea what library that might be.\n"},{"id":"321740","messageId":"CACBZZX57=y0kHFDDAKfiFjpr8_BUsBFK6ic--zv8=SAmtD0AoQ@mail.gmail.com","threadId":"46141","inReplyTo":"CAJZjrdWkqNVLgZ5KYQ33zjO25raLhAHGxqPezjUsQ692wKTudg@mail.gmail.com","subject":"Re: send-email: Net::SSLeay failure","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-06-08T09:53:31Z","receivedAt":"2017-06-08T09:53:58Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Thu, Jun 8, 2017 at 11:06 AM, Samuel Lijin <sxlijin@gmail.com> wrote:\n> Sorry, I should've been clearer. Currently send-email fails for me\n> with this error:\n>\n> SSLeay.c: loadable library and perl binaries are mismatched (got\n> handshake key 0xdb80080, needed 0xde00080)\n>\n> I thought the undefined symbol stuff in the .so could have been part\n> of the problem, but I guess not. None of the fixes that worked for\n> Liam worked for me either, so I'm not quite sure where the issue is.\n> The closest I've found to a meaningful suggestion for the error is\n> that Perl is relying on a library built against a different version of\n> Perl, but I have no idea what library that might be.\n\nThe issue is that SSLeay.so is compiled against a different version of\nperl, presumably you installed it via CPAN in the past and then\nupgraded your system perl version.\n\nThe easiest solution is probably just to re-run \"sudo cpan\nNet::SSLeay\", or alternatively rm -rf all these files and install them\nvia your package system.\n"},{"id":"321741","messageId":"CAJZjrdUGpujOhYrcziO-ncF8g1LsJCG1+GMNbguMFHN-UJ6gKQ@mail.gmail.com","threadId":"46141","inReplyTo":"CACBZZX57=y0kHFDDAKfiFjpr8_BUsBFK6ic--zv8=SAmtD0AoQ@mail.gmail.com","subject":"Re: send-email: Net::SSLeay failure","fromName":"Samuel Lijin","fromEmail":"sxlijin@gmail.com","sentAt":"2017-06-08T09:58:43Z","receivedAt":"2017-06-08T09:59:29Z","isPatch":false,"sender":{"key":"sxlijin@gmail.com","avatar":"https://gravatar.com/avatar/01777bf1eae64e2b4dca97dcac182a6abbcf6fd8cb4d5b8fa33edf9f8cc21746?d=mp&s=160"},"body":"On Thu, Jun 8, 2017 at 5:53 AM, Ævar Arnfjörð Bjarmason\n<avarab@gmail.com> wrote:\n> On Thu, Jun 8, 2017 at 11:06 AM, Samuel Lijin <sxlijin@gmail.com> wrote:\n>> Sorry, I should've been clearer. Currently send-email fails for me\n>> with this error:\n>>\n>> SSLeay.c: loadable library and perl binaries are mismatched (got\n>> handshake key 0xdb80080, needed 0xde00080)\n>>\n>> I thought the undefined symbol stuff in the .so could have been part\n>> of the problem, but I guess not. None of the fixes that worked for\n>> Liam worked for me either, so I'm not quite sure where the issue is.\n>> The closest I've found to a meaningful suggestion for the error is\n>> that Perl is relying on a library built against a different version of\n>> Perl, but I have no idea what library that might be.\n>\n> The issue is that SSLeay.so is compiled against a different version of\n> perl, presumably you installed it via CPAN in the past and then\n> upgraded your system perl version.\n>\n> The easiest solution is probably just to re-run \"sudo cpan\n> Net::SSLeay\", or alternatively rm -rf all these files and install them\n> via your package system.\n\nI thought I already had rm -rf'd them, but upon double-checking it\nturns out I didn't nuke the CPAN version of Net::SSLeay properly.\nThanks.\n"}]}