This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 1292177 - Symbol error loading perl module Authen::Krb5.
Symbol error loading perl module Authen::Krb5.
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: perl-Authen-Krb5 (Show other bugs)
23
x86_64 Unspecified
unspecified Severity high
: ---
: ---
Assigned To: Petr Šabata
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-12-16 11:34 EST by Corey Farrell
Modified: 2016-04-04 07:39 EDT (History)
4 users (show)

See Also:
Fixed In Version: perl-Authen-Krb5-1.9-15.fc23
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-03-07 08:35:26 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Corey Farrell 2015-12-16 11:34:01 EST
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.
Comment 1 Corey Farrell 2015-12-16 11:38:47 EST
I just verified: rebuilding the Fedora SRPM solves this problem.
Comment 2 Petr Šabata 2015-12-18 10:25:00 EST
Thanks for the report, Corey.
I'll rebuild the package.
Comment 3 Fedora Update System 2015-12-18 10:52:31 EST
perl-Authen-Krb5-1.9-15.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-bfab18906a
Comment 4 Fedora Update System 2015-12-19 15:00:31 EST
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
Comment 5 Fedora Update System 2015-12-28 17:56:05 EST
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.
Comment 6 Toby Blake 2016-03-31 10:18:49 EDT
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
Comment 7 Petr Šabata 2016-04-01 04:08:23 EDT
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.
Comment 8 Toby Blake 2016-04-01 04:43:27 EDT
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
Comment 9 Petr Šabata 2016-04-01 05:12:22 EDT
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.
Comment 10 Toby Blake 2016-04-01 11:45:37 EDT
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
Comment 11 Petr Šabata 2016-04-04 07:06:06 EDT
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.

Note You need to log in before you can comment on or make changes to this bug.