undefined reference to `_et_list'

Gaurav Gupta gagupta at cisco.com
Tue Oct 23 21:25:17 EDT 2007

I am building krb5-1.6.1.tar.gz on a 64 bit CentOS 4.1. I am getting the
following error when I specify the '--with-system-et' option to use the
system libcom_err library:

making all in lib/rpc/unit-test...
make[4]: Entering directory
gcc -L../../../lib -Wl,-rpath
/prod/x86_64/proto/usr/lib -D_FILE_OFFSET_BITS=64 -I/usr/include/et -fPIC
-O2 -g -pipe  -o client client.o rpc_test_clnt.o \
        -lgssrpc -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lkrb5support
-lresolv -ldl
../../../lib/libgssapi_krb5.so: undefined reference to `_et_list'

I checked and the /lib64/libcom_err.so.2 on the system has '_et_list'
# nm --dynamic /lib64/libcom_err.so.2

0000003a9fe00f00 T add_error_table
0000003a9fe00fc0 T add_to_error_table
0000003a9ff018d0 A __bss_start
0000003a9fe011a0 T com_err
0000003a9ff018c8 D com_err_hook
0000003a9fe01190 T com_err_va
0000003a9fe01290 T com_right
                 w __cxa_finalize
0000003a9ff01668 A _DYNAMIC
0000003a9ff018d0 A _edata
0000003a9ff01918 A _end
0000003a9fe00d70 T error_message
0000003a9fe00fd0 T error_table_name
0000003a9ff018e0 B _et_list <------------Here

When I build without the '--with-system-et' and let Kerberos build its own
libcom_err.so.3 it builds fine. The weird part is that it builds fine on
a 32 bit system, which makes me wonder if I am not specifying any option

Here is the config options I am using:

cd src; ./configure \
            --prefix=/usr \
            --exec-prefix=/usr \
            --bindir=$(MY_INSTALL_ROOT)/usr/kerberos/bin \
            --sbindir=$(MY_INSTALL_ROOT)/usr/kerberos/sbin \
            --sysconfdir=$(MY_INSTALL_ROOT)/etc \
            --datadir=$(MY_INSTALL_ROOT)/usr/kerberos/share \
            --includedir=$(MY_INSTALL_ROOT)/usr/include \
            --libdir=$(MY_INSTALL_ROOT)/usr/lib \
            --libexecdir=$(MY_INSTALL_ROOT)/usr/libexec \
            --localstatedir=$(MY_INSTALL_ROOT)/var/kerberos \
            --sharedstatedir=$(MY_INSTALL_ROOT)/usr/com \
            --mandir=$(MY_INSTALL_ROOT)/usr/kerberos/man \
            --infodir=$(MY_INSTALL_ROOT)/usr/share/info \
            CC=gcc \
            CFLAGS="$(CFLAGS)" \
            CPPFLAGS="$(CPPFLAGS)" \
            SS_LIB="-lss -lcurses" \
            --enable-shared \
            --with-krb4 \
            --with-system-et \
            --with-system-ss \
            --with-netlib=-lresolv \
            --without-tcl \


More information about the Kerberos mailing list