Compilation broken in v2.1.x branch?

Brian Candler B.Candler at pobox.com
Sun Mar 13 15:49:49 CET 2011


I hadn't done a 'git pull' and recompile since 1st February. Now when I try
it again, the build fails on my machine (Ubuntu 10.10 x86_64)

$ make distclean && ./configure --prefix=/v/build/fr && make && make install
...
 gcc -g -O2 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -D_GNU_SOURCE -g -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -W -Wredundant-decls -Wundef -I/u/home/brian/git/freeradius-server/src -DHOSTINFO=\"x86_64-unknown-linux-gnu\" -DRADIUSD_VERSION=\"2.1.11\" -DOPENSSL_NO_KRB5 -c detail.c -o detail.o >/dev/null 2>&1
/u/home/brian/git/freeradius-server/libtool --mode=link gcc -export-dynamic -dlopen self \
		  -o radiusd acct.lo auth.lo client.lo conffile.lo crypt.lo exec.lo files.lo listen.lo log.lo mainconfig.lo modules.lo modcall.lo radiusd.lo stats.lo soh.lo session.lo threads.lo util.lo valuepair.lo version.lo xlat.lo event.lo realms.lo evaluate.lo vmps.lo detail.lo      \
		 /u/home/brian/git/freeradius-server/src/lib/libfreeradius-radius.la -lnsl -lresolv  -lpthread  \
		-lcrypt  -lltdl -lcrypto -lssl -lcrypto
rm -f .libs/radiusd.nm .libs/radiusd.nmS .libs/radiusd.nmT
creating .libs/radiusdS.c
(cd .libs && gcc  -g -O2 -c -fno-builtin "radiusdS.c")
rm -f .libs/radiusdS.c .libs/radiusd.nm .libs/radiusd.nmS .libs/radiusd.nmT
gcc .libs/radiusdS.o -o .libs/radiusd .libs/acct.o .libs/auth.o .libs/client.o .libs/conffile.o .libs/crypt.o .libs/exec.o .libs/files.o .libs/listen.o .libs/log.o .libs/mainconfig.o .libs/modules.o .libs/modcall.o .libs/radiusd.o .libs/stats.o .libs/soh.o .libs/session.o .libs/threads.o .libs/util.o .libs/valuepair.o .libs/version.o .libs/xlat.o .libs/event.o .libs/realms.o .libs/evaluate.o .libs/vmps.o .libs/detail.o -Wl,--export-dynamic  /u/home/brian/git/freeradius-server/src/lib/.libs/libfreeradius-radius.so -lnsl -lresolv -lpthread -lcrypt /usr/lib/libltdl.so -lssl -lcrypto -ldl  -Wl,--rpath -Wl,/v/build/fr/lib
.libs/modules.o: In function `setup_modules':
/v/git/freeradius-server/src/main/modules.c:1395: undefined reference to `lt__PROGRAM__LTX_preloaded_symbols'
collect2: ld returned 1 exit status
make[4]: *** [radiusd] Error 1
make[4]: Leaving directory `/v/git/freeradius-server/src/main'
make[3]: *** [main] Error 2
make[3]: Leaving directory `/v/git/freeradius-server/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/v/git/freeradius-server/src'
make[1]: *** [src] Error 2
make[1]: Leaving directory `/v/git/freeradius-server'
make: *** [all] Error 2

Doing a git bisect from 5853570817fc2a1b5e972fbafe10568813e426ac suggests
the problem to be introduced here:

2d0c5fa94938f727b4f37fb7399b777437171eeb is the first bad commit
commit 2d0c5fa94938f727b4f37fb7399b777437171eeb
Author: Alan T. DeKok <aland at freeradius.org>
Date:   Mon Feb 14 15:03:48 2011 +0100

    Fix typos and regenerate for 2.1.11

:100755 100755 cd0356c27a219e968bf3cecaef08ca04f74eea64
d48179f54bd576f474168325dc0aaac2d9c4dfe0 M	configure

And to confirm this manually:
- a checkout of 995b62f8 builds successfully
- bc9435fd builds successfully
- 2d0c5fa9 fails as above

The relevant software versions are:

ii  autoconf                              2.67-2ubuntu1                                     automatic configure script builder
ii  automake                              1:1.11.1-1                                        A tool for generating GNU Standards-compliant Makefiles
ii  autotools-dev                         20100122.1                                        Update infrastructure for config.{guess,sub} files
ii  libltdl-dev                           2.2.6b-2ubuntu1                                   A system independent dlopen wrapper for GNU libtool
ii  libltdl7                              2.2.6b-2ubuntu1                                   A system independent dlopen wrapper for GNU libtool
ii  libtool                               2.2.6b-2ubuntu1                                   Generic library support script

I'm no expert in autoconf black magic, but it seems to me that the "fix
typos" actually introduced one (it should be libltdl not libtldl)

Regards,

Brian.



More information about the Freeradius-Devel mailing list