Package: libauthen-krb5-perl Version: 1.9-4 Severity: serious $ env PERL_DL_NONLAZY=1 perl -MAuthen::Krb5 -e '1;' Can't load '/usr/lib/i386-linux-gnu/perl5/5.20/auto/Authen/Krb5/Krb5.so' for module Authen::Krb5: /usr/lib/i386-linux-gnu/perl5/5.20/auto/Authen/Krb5/Krb5.so: undefined symbol: krb5_free_krbhst at /usr/lib/i386-linux-gnu/perl/5.20/DynaLoader.pm line 187. at -e line 0. Compilation failed in require. BEGIN failed--compilation aborted.
This breaks test suites or anything else that sets PERL_DL_NONLAZY=1. The problem is that this module uses an internal MIT Kerberos API that has been removed. From Krb5.xs: /* * These are internal Kerberos library functions that aren't prototyped and * that we probably shouldn't be calling. Prototype them with the arguments * we expect and leave them for now pending an API cleanup. */ krb5_error_code krb5_free_krbhst(krb5_context, char * const *); krb5_error_code krb5_get_krbhst(krb5_context, const krb5_data *, char ***); And from the changelog (doc/CHANGES) for package krb5: commit 81fde7e475b02986c1aff88766cc48882004d5dc Author: Greg Hudson <ghud...@mit.edu> Date: Fri Mar 22 16:00:48 2013 -0400 Get rid of krb5_{get,free}_krbhst These functions were always internal. They haven't been used since v5passwdd was eliminated in krb5 1.4.