Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 261189 - net-dialup/freeradius-2.1.3 build fails with: undefined reference to `lt__PROGRAM__LTX_preloaded_symbols'
Summary: net-dialup/freeradius-2.1.3 build fails with: undefined reference to `lt__PRO...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Alin Năstac (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-04 16:58 UTC by Steve Brudenell
Modified: 2009-03-06 03:40 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build log for freeradius-2.1.3 (build.log,274.17 KB, text/plain)
2009-03-04 16:59 UTC, Steve Brudenell
Details
Patch to ebuild to add --with-system-libtool (freeradius.ebuild.patch,462 bytes, patch)
2009-03-04 17:20 UTC, Steve Brudenell
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Steve Brudenell 2009-03-04 16:58:22 UTC
freeradius-2.1.3 build fails. This seems to be the same problem as in bug 215843, bug 212723, and bug 225725, although there seems to be no common resolution.

Reproducible: Always

Steps to Reproduce:
1. Sync portage tree.
2. Unmask =net-dialup/freeradius-2.1.3.
3. emerge =net-dialup/freeradius-2.1.3

Actual Results:  
The build does not complete. The error line is:

modules.c:(.text+0x1135): undefined reference to `lt__PROGRAM__LTX_preloaded_symbols'


Expected Results:  
Should compile and install normally.

Portage 2.1.6.7 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.9_p20081201-r2, 2.6.28.5 x86_64)
=================================================================
System uname: Linux-2.6.28.5-x86_64-Intel-R-_Core-TM-2_CPU_6300_@_1.86GHz-with-glibc2.2.5
Timestamp of tree: Wed, 04 Mar 2009 16:00:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:     3.2_p48-r1
dev-java/java-config: 1.3.7-r1, 2.1.7
dev-lang/python:     2.4.4-r13, 2.5.4-r2
dev-python/pycrypto: 2.0.1-r8
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.3-r1
sys-apps/sandbox:    1.3.8
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.19.1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.28-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O3 --pipe -fomit-frame-pointer -momit-leaf-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=nocona -O3 --pipe -fomit-frame-pointer -momit-leaf-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.osuosl.org http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en es fr de hi jp"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--timeout=10"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="a52 aac aalib acl acpi adns ads alsa amd64 apache2 async avahi bash-completion berkdb bzip2 cdparanoia cjk cli cpudetection cracklib crypt curl dbus doc dri dts dv dvd dvdread encode fam fastcgi flac fortran gdbm hal iconv imagemagick imap injection iproute2 ipv6 isdnlog jadetex jpeg json kerberos ldap live lm_sensors logrotate loop-aes lzo mad madwifi math midi mmap mmx mmxext mudflap multilib mysql mysqli ncurses nls nptl nptlonly offensive ogg openmp pam pcre perl png posix pppd pulseaudio python readline reflection ruby samba sasl session simplexml snmp soap sockets spl sse sse2 ssl ssse3 svg svnserve sysfs syslog tcpd theora threads tiff unicode vim-syntax vorbis wifi winbind x264 xattr xml xmlreader xmlrpc xmlwriter xorg xulrunner xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias " APACHE2_MPMS="worker" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en es fr de hi jp" USERLAND="GNU"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Comment 1 Steve Brudenell 2009-03-04 16:59:10 UTC
Created attachment 183898 [details]
build log for freeradius-2.1.3
Comment 2 Steve Brudenell 2009-03-04 17:03:39 UTC
I'll also note that adding eautoreconf to the end of src_unpack doesn't seem to fix the problem.

I'm going to try to grok these other bugs (esp the older freeradius one) and see if I can figure out something that should fix it.
Comment 3 Steve Brudenell 2009-03-04 17:18:39 UTC
Found in bug 225725 that adding --with-system-libtool to configure was supposed to help this. I've confirmed that it fixes this problem for me. I also noticed this option occurs in the ebuilds for 2.0.5 and 2.1.1, so it seems consistent to do this.
Comment 4 Steve Brudenell 2009-03-04 17:20:52 UTC
Created attachment 183900 [details, diff]
Patch to ebuild to add --with-system-libtool
Comment 5 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-05 17:55:56 UTC
Reassigning to maintainer.
Comment 6 Alin Năstac (RETIRED) gentoo-dev 2009-03-05 19:24:42 UTC
Sorry, but your solution doesn't fix the problem. We want to prevent compilation of static libraries (.a) and using the libtool script provided in the tarball is the only way to achieve that.
Can you try to compile it with MAKEOPTS=-j1? If that didn't helped, can you investigate the issue further?
Comment 7 Steve Brudenell 2009-03-05 19:45:00 UTC
MAKEOPTS=-j1 does not fix the problem for me.

I'm confused; if --with-system-libtool is not acceptable, why is it present in the 2.0.5 and 2.1.1 ebuilds?

I'll continue investigating but I'm starting at square one now.
Comment 8 Steve Brudenell 2009-03-05 19:58:44 UTC
There are a lot of instances of this problem throughout different packages and distributions; every answer I have come across so far is the same: downgrade to libtool-1.5. I've confirmed that <libtool-2 in DEPEND enables successful compilation; not sure if this is acceptable.
Comment 9 Alin Năstac (RETIRED) gentoo-dev 2009-03-05 20:06:21 UTC
Yeah, immediately after I've added my comment, I saw that src_compile already use -j1. 
I've removed --with-system-libtool for fixing the bug 253136.

Do the following change:
 - inherit libtool class 
 - add elibtoolize at the end of src_unpack
It worked for me but then again it works for me without it. Question is, does it works for you?
Comment 10 Steve Brudenell 2009-03-05 20:22:11 UTC
Unfortunately elibtoolize at end of src_unpack does not work for me. Same error as always.
Comment 11 Alin Năstac (RETIRED) gentoo-dev 2009-03-05 20:50:03 UTC
Try to add following lines before elibtoolize:
        if [ -x /usr/bin/libtool ]; then
                cp /usr/bin/libtool . || die "failed to copy libtool"
        fi

(yes, I'm desperate and I'll try anything).
Comment 12 Alin Năstac (RETIRED) gentoo-dev 2009-03-05 20:56:01 UTC
My previous comment didn't probably fixed the issue, so I have a new idea:
  - inherit autotool libtool
  - add at the end of src_unpack following lines:
     eautoreconf
     elibtoolize
Comment 13 Steve Brudenell 2009-03-05 21:38:37 UTC
Copying in /usr/bin/libtool still fails with 

modules.c:(.text+0x1135): undefined reference to `lt__PROGRAM__LTX_preloaded_symbols'

eautoreconf followed by elibtoolize at least fails in a new way:

 * Running eautoreconf in '/var/tmp/portage/net-dialup/freeradius-2.1.3-r1/work/freeradius-server-2.1.3' ...
 * Running aclocal ...                                                                                   [ ok ]
 * Running libtoolize --copy --force --install ...                                                       [ ok ]
 * Running aclocal ...                                                                                   [ ok ]
 * Running autoconf ...                                                                                  [ !! ]

 * Failed Running autoconf !
 *
 * Include in your bugreport the contents of:
 *
 *   /var/tmp/portage/net-dialup/freeradius-2.1.3-r1/temp/autoconf-19605.out

/var/tmp/portage/net-dialup/freeradius-2.1.3-r1/temp/autoconf-19605.out has:

***** autoconf *****
***** autoconf

configure.in:1142: warning: AC_CONFIG_SUBDIRS: you should use literals
../../lib/autoconf/status.m4:1093: AC_CONFIG_SUBDIRS is expanded from...
configure.in:1142: the top level
configure.in:547: error: possibly undefined macro: AC_LIB_READLINE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
Comment 14 Steve Brudenell 2009-03-05 21:41:33 UTC
Changing the order of elibtoolize and eautoreconf (i.e., elibtoolize followed by eautoreconf) yields the same error as the original order.
Comment 15 Alin Năstac (RETIRED) gentoo-dev 2009-03-05 22:52:46 UTC
Fixed in version 2.1.3-r1. It worked for me with libtool-1 and libtool-2 so it should work for you too. If not, reopen this bug.

Solution was using eautoreconf and elibtoolize + patching configure.in.
Comment 16 Steve Brudenell 2009-03-06 03:40:17 UTC
Awesome. This works! I'm not sure how you knew to patch it this way, but good job.