Description of problem: Loading Authen::Krb5 fails due to a missing symbol. Version-Release number of selected component (if applicable): perl-Authen-Krb5-1.9-14.fc23.x86_64 How reproducible: Every time Steps to Reproduce: 1. dnf install perl-Authen-Krb5 2. perl -e 'use Authen::Krb5;' Actual results: Can't load '/usr/lib64/perl5/vendor_perl/auto/Authen/Krb5/Krb5.so' for module Authen::Krb5: /usr/lib64/perl5/vendor_perl/auto/Authen/Krb5/Krb5.so: undefined symbol: krb5_free_krbhst at /usr/lib64/perl5/DynaLoader.pm line 193. at -e line 1. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1. Expected results: Silence.
I just verified: rebuilding the Fedora SRPM solves this problem.
Thanks for the report, Corey. I'll rebuild the package.
perl-Authen-Krb5-1.9-15.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-bfab18906a
perl-Authen-Krb5-1.9-15.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with $ su -c 'dnf --enablerepo=updates-testing update perl-Authen-Krb5' You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-bfab18906a
perl-Authen-Krb5-1.9-15.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.
Hello, I don't currently have access to an FC machine, but on scientific linux 7.2 (based on rhel 7.2) I still get the issue described in this bug when using PERL_DL_NONLAZY=1. This is how ExtUtils::MakeMaker runs its tests. [bolt]toby: perl -e 'use Authen::Krb5;' [bolt]toby: PERL_DL_NONLAZY=1 perl -e 'use Authen::Krb5' Can't load '/usr/lib64/perl5/vendor_perl/auto/Authen/Krb5/Krb5.so' for module Authen::Krb5: /usr/lib64/perl5/vendor_perl/auto/Authen/Krb5/Krb5.so: undefined symbol: krb5_free_krbhst at /usr/lib64/perl5/DynaLoader.pm line 190. at -e line 1. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1. [bolt]toby: Cheers Toby
Toby, This module doesn't appear to be a part of neither EL7 nor EPEL7. I guess it comes from SL's own repositories. You should report it to them.
Hi Petr, I built it myself from the SRPM in koji.fedoraproject.org. I'm reporting it against this bug as I imagine the problem will be the same for FC, e.g. for any MakeMaker test suites with modules which use Authen::Krb5. I can install a machine to test this if needed? Cheers Toby
Thanks but this bug was fixed in Fedora already -- by rebuilding the perl-Authen-Krb5 package, as mentioned in comment #2. It works fine for me with perl-Authen-Krb5-1.9-15.fc23.x86_64 on F23.
Hello, The issue is when using PERL_DL_NONLAZY=1 and can be replicated on FC23 (on a new install from the live CD, with updates)... [toby@localhost ~]$ cat /etc/redhat-release Fedora release 23 (Twenty Three) [toby@localhost ~]$ rpm -q perl-Authen-Krb5 perl-Authen-Krb5-1.9-15.fc23.x86_64 [toby@localhost ~]$ perl -e 'use Authen::Krb5' [toby@localhost ~]$ PERL_DL_NONLAZY=1 perl -e 'use Authen::Krb5' Can't load '/usr/lib64/perl5/vendor_perl/auto/Authen/Krb5/Krb5.so' for module Authen::Krb5: /usr/lib64/perl5/vendor_perl/auto/Authen/Krb5/Krb5.so: undefined symbol: krb5_free_krbhst at /usr/lib64/perl5/DynaLoader.pm line 193. at -e line 1. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1. This is an issue because PERL_DL_NONLAZY=1 is used by ExtUtils::MakeMaker (and probably other things), e.g. after dnf install perl-ExtUtils-MakeMaker and dnf install perl-Test-Simple... [toby@localhost ~]$ cd AuthenKrb5Test/ [toby@localhost AuthenKrb5Test]$ cat Makefile.PL use ExtUtils::MakeMaker; WriteMakefile( NAME => 'AuthenKrb5Test', VERSION => '0.0.1' ); [toby@localhost AuthenKrb5Test]$ cat t/use.t use Test::More tests => 1; BEGIN { use_ok("Authen::Krb5"); } [toby@localhost AuthenKrb5Test]$ perl Makefile.PL Generating a Unix-style Makefile Writing Makefile for AuthenKrb5Test [toby@localhost AuthenKrb5Test]$ make [toby@localhost AuthenKrb5Test]$ make test PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/use.t .. 1/1 # Failed test 'use Authen::Krb5;' # at t/use.t line 3. # Tried to use 'Authen::Krb5'. # Error: Can't load '/usr/lib64/perl5/vendor_perl/auto/Authen/Krb5/Krb5.so' for module Authen::Krb5: /usr/lib64/perl5/vendor_perl/auto/Authen/Krb5/Krb5.so: undefined symbol: krb5_free_krbhst at /usr/lib64/perl5/DynaLoader.pm line 193. # at t/use.t line 3. # Compilation failed in require at t/use.t line 3. # BEGIN failed--compilation aborted at t/use.t line 3. # Looks like you failed 1 test of 1. t/use.t .. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests Test Summary Report ------------------- t/use.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=1, Tests=1, 0 wallclock secs ( 0.05 usr 0.05 sys + 0.06 cusr 0.05 csys = 0.21 CPU) Result: FAIL Failed 1/1 test programs. 1/1 subtests failed. Makefile:762: recipe for target 'test_dynamic' failed make: *** [test_dynamic] Error 1 [toby@localhost AuthenKrb5Test]$ Running the command that make test runs by hand with PERL_DL_NONLAZY=0 succeeds. Cheers Toby
Thank you. I wasn't testing this properly. I confirm the issue exists and appears to be a design bug in the module. I'll file a new report for this.