Problem building root.v5.25.04 under SL release 5.3 (Boron)

Hi all
I am trying to install root from source on SL release 5. There is no problem in configure.

./configure --prefix=/tmp/BUILD_ROOT/BUILD/root/opt/root --disable-krb5

or

./configure --prefix=/tmp/BUILD_ROOT/BUILD/root/opt/root

But when i do make it gives error as

make all ARCH=x86_64_linux_26 --no-print-directory
Compiling XrdSecProtocolkrb5.cc
g++ -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -m64 -D_ALL_SOURCE -D_REENTRANT -D_GNU_SOURCE -fPIC -rdynamic -Wall -Wno-deprecated -D__linux__ -O2 -DXrdDEBUG=0 -DHAVE_FSTATAT -DHAVE_LIBZ -I. -I… -Iinclude -I/usr/include/et -o …/…/obj/XrdSecProtocolkrb5.o XrdSecProtocolkrb5.cc
XrdSecProtocolkrb5.cc: In member function ‘virtual XrdSecCredentials* XrdSecProtocolkrb5::getCredentials(XrdSecParameters*, XrdOucErrInfo*)’:
XrdSecProtocolkrb5.cc:290: error: ‘struct krb5_creds’ has no member named ‘ticket_flags’
XrdSecProtocolkrb5.cc:290: error: ‘TKT_FLG_FORWARDABLE’ was not declared in this scope
XrdSecProtocolkrb5.cc: In member function ‘virtual int XrdSecProtocolkrb5::Authenticate(XrdSecCredentials*, XrdSecParameters**, XrdOucErrInfo*)’:
XrdSecProtocolkrb5.cc:418: error: ‘struct krb5_address’ has no member named ‘addrtype’
XrdSecProtocolkrb5.cc:418: error: ‘ADDRTYPE_INET’ was not declared in this scope
XrdSecProtocolkrb5.cc:419: error: ‘struct krb5_address’ has no member named ‘length’
XrdSecProtocolkrb5.cc:420: error: ‘struct krb5_address’ has no member named ‘contents’
XrdSecProtocolkrb5.cc:420: error: ‘krb5_octet’ was not declared in this scope
XrdSecProtocolkrb5.cc:420: error: expected primary-expression before ‘)’ token
XrdSecProtocolkrb5.cc:436: error: ‘struct krb5_ticket’ has no member named ‘enc_part2’
XrdSecProtocolkrb5.cc: In member function ‘int XrdSecProtocolkrb5::exp_krbTkn(XrdSecCredentials*, XrdOucErrInfo*)’:
XrdSecProtocolkrb5.cc:738: error: ‘krb5_princ_component’ was not declared in this scope
XrdSecProtocolkrb5.cc:770: error: ‘struct krb5_ticket’ has no member named ‘enc_part2’
make[5]: *** […/…/obj/XrdSecProtocolkrb5.o] Error 1
make[4]: *** [Linuxall] Error 2
make[3]: *** [all] Error 2
make[2]: *** [XrdSeckrb5] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/BUILD_ROOT/BUILD/root/net/xrootd/src/xrootd’
*** Error condition reported by make (rc = 2):
make: *** [net/xrootd/src/xrootd/LastBuild.d] Error 1
rm core/utils/src/RStl_tmp.cxx core/utils/src/rootcint_tmp.cxx

The problem is that the machine has Heimdal krb5 which is not supported neither in ROOT nor in XROOTD.

We give a try to detect which krb5 is installed but the check is somewhat fragile and apparently that does not work in your case.

I will investigate why the ‘–disable-krb5’ does not work.

In the meantime, could you try by adding

–with-xrootd-opts="–disable-krb5"

G. Ganis

Thanks a lot. Now it works.