Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 137222

Summary: net-misc/ntp-4.2.2 compile fail with undefined reference to `sqrt' (gcc 4.1 issue?)
Product: Gentoo Linux Reporter: Will Briggs <will.briggs>
Component: Current packagesAssignee: SpanKY <vapier>
Status: VERIFIED NEEDINFO    
Severity: normal    
Priority: High    
Version: 2006.0   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Will Briggs 2006-06-18 19:46:14 UTC
f i686-pc-linux-gnu-gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"msntp\" -DVERSION=\"1.6\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_FCNTL_H=1 -DHAVE_FLOAT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_NETDB_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_SS_FAMILY_IN_SS=1 -DPROTOTYPES=1 -D__PROTOTYPES=1 -DRETSIGTYPE=void -DHAVE_ALARM=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_INET_NTOA=1 -DHAVE_MEMSET=1 -DHAVE_SOCKET=1 -DHAVE_SQRT=1 -DHAVE_STRRCHR=1  -I. -I.     -O2 -march=athlon -ftracer -pipe -fomit-frame-pointer -DADJTIME_MISSING -MT unix.o -MD -MP -MF ".deps/unix.Tpo" -c -o unix.o unix.c; \
        then mv -f ".deps/unix.Tpo" ".deps/unix.Po"; else rm -f ".deps/unix.Tpo"; exit 1; fi
i686-pc-linux-gnu-gcc  -O2 -march=athlon -ftracer -pipe -fomit-frame-pointer -DADJTIME_MISSING   -o sntp  internet.o main.o socket.o timing.o unix.o
main.o: In function `estimate_stats':
main.c:(.text+0x1e9c): undefined reference to `sqrt'
main.c:(.text+0x1eea): undefined reference to `sqrt'
main.c:(.text+0x23de): undefined reference to `sqrt'
main.c:(.text+0x23fa): undefined reference to `sqrt'
main.c:(.text+0x240e): undefined reference to `sqrt'
main.o:main.c:(.text+0x242f): more undefined references to `sqrt' follow
collect2: ld returned 1 exit status
distcc[11792] ERROR: compile (null) on localhost failed
make[2]: *** [sntp] Error 1
make[2]: Leaving directory `/var/tmp/portage/ntp-4.2.2/work/ntp-4.2.2/sntp'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/ntp-4.2.2/work/ntp-4.2.2'
make: *** [all] Error 2

!!! ERROR: net-misc/ntp-4.2.2 failed.
Call stack:
  ebuild.sh, line 1540:   Called dyn_compile
  ebuild.sh, line 940:   Called src_compile
  ntp-4.2.2.ebuild, line 64:   Called die

!!! (no error message)
!!! If you need support, post the topmost build error, and the call stack if relevant.

emerge --info
Portage 2.1.1_pre1-r1 (default-linux/x86/2006.0, gcc-4.1.1/vanilla, glibc-2.4-r3, 2.6.16-gentoo-r9n i686)
=================================================================
System uname: 2.6.16-gentoo-r9n i686 AMD Duron(tm)
Gentoo Base System version 1.12.1
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.4 [enabled]
dev-lang/python:     2.3.5-r2, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r2
dev-util/confcache:  0.4.2-r1
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/gcc-config: 2.0.0_rc1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon -ftracer -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=athlon -ftracer -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--alphabetical"
FEATURES="autoconfig buildpkg ccache confcache distcc distlocks fixpackages sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_EXTRA_OPTS="--timeout=300"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --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="x86 3dnow 3dnowext alsa apache2 apm avi berkdb bitmap-fonts bzip2 cli cpdflib crypt cups curl dba dri eds emboss encode esd exif ffmpeg foomaticdb fortran fxsr gd gdbm gif gstreamer idn imagemagick imap imlib isdnlog javascript jpeg libg++ libwww mad mbox mikmod mmx mmxext mp3 mpeg ncurses nls nntp nptl nptlonly odbc ogg pam pcre pdflib perl png postgres ppds pppd python quicktime readline reflection samba session spl ssl tcpd truetype truetype-fonts type1-fonts udev vhosts vorbis xml xmms xorg zlib elibc_glibc kernel_linux userland_GNU"
Unset:  CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 1 Will Briggs 2006-06-19 17:17:55 UTC
I have also tried after a sync
And with FEATURES="-distcc"
This builds with gcc 4.1 on another machine I have so perhaps that's not the cause.  I'm currently figuring out what's different between the two machines (apart from that being amd64 and this being x86) to see if there's something strange to this machine
Comment 2 SpanKY gentoo-dev 2006-06-20 10:39:07 UTC
try again without confcache

my guess is the configure script tries to detect whether it needs libm for sqrt and on your machine, it doesnt think it does ...
Comment 3 Will Briggs 2006-06-20 22:22:09 UTC
(In reply to comment #2)
> try again without confcache
> 
> my guess is the configure script tries to detect whether it needs libm for sqrt
> and on your machine, it doesnt think it does ...
> 

It rebuilt today as part of an emerge world. My guess confcache was flushed or something between now and last attempt.  In any case I can't reproduce now.  So sorry to bother.  Case closed.

One thought though - I'll now take confcache into account before bug reports - but in which case, is such a thing a confcache bug (to be reported) or is it a "confcache-does-this-sometimes" issue to be worked around rather than reported?