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

Bug 24941

Summary: can't link against static library after update to glibc 2.3.2-r1
Product: Gentoo Linux Reporter: Matthew Swank <akopa>
Component: [OLD] Core systemAssignee: Martin Schlemmer (RETIRED) <azarah>
Status: RESOLVED INVALID    
Severity: major    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Matthew Swank 2003-07-20 21:06:14 UTC
observe:
// our source temp.c
#include<math.h>
int main()
{
    return sin(2);
}
it compiles just fine:
user@host ch4 $ gcc -Wall -c temp.c -o temp.o
user@host ch4 $

linking, however, is a disaster:
user@host ch4 $ gcc temp.c
/tmp/ccK7oydF.o(.text+0x20): In function `main':
: undefined reference to `sin'
collect2: ld returned 1 exit status
user@host ch4 $


Reproducible: Always
Steps to Reproduce:





gcc version:
sys-devel/gcc-config-1.3.3-r1
sys-devel/gcc-3.2.3-r1


environment:

declare -x CC="gcc"
declare -x
CLASSPATH="/opt/blackdown-jdk-1.4.1/jre/lib/rt.jar:.:/home/singollo/GNUstep/Libraries/Java:/usr/GNUstep/Local/Libraries/Java:/usr/GNUstep/Network/Libraries/Java:/usr/GNUstep/System/Libraries/Java"
declare -x COLORTERM="gnome-terminal"
declare -x CONFIG_PROTECT="/usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config
/usr/share/config"declare -x CONFIG_PROTECT_MASK="/etc/gconf"
declare -x CVS_RSH="ssh"
declare -x CXX="g++"
declare -x DESKTOP_STARTUP_ID=""
declare -x DISPLAY=":0.0"
declare -x EDITOR="/usr/bin/vim"
declare -x GNOME_DESKTOP_SESSION_ID="Default"
declare -x GNUSTEP_FLATTENED=""
declare -x GNUSTEP_HOST="i686-pc-linux-gnu"
declare -x GNUSTEP_HOST_CPU="ix86"
declare -x GNUSTEP_HOST_OS="linux-gnu"
declare -x GNUSTEP_HOST_VENDOR="pc"
declare -x GNUSTEP_LOCAL_ROOT="/usr/GNUstep/Local"
declare -x GNUSTEP_MAKEFILES="/usr/GNUstep/System/Makefiles"
declare -x GNUSTEP_NETWORK_ROOT="/usr/GNUstep/Network"
declare -x
GNUSTEP_PATHLIST="/home/user/GNUstep:/usr/GNUstep/Local:/usr/GNUstep/Network:/usr/GNUstep/System"
declare -x GNUSTEP_ROOT="/usr/GNUstep"
declare -x GNUSTEP_SYSTEM_ROOT="/usr/GNUstep/System"
declare -x GNUSTEP_USER_ROOT="/home/singollo/GNUstep"
declare -x
GUILE_LOAD_PATH="/home/user/GNUstep/Libraries/Guile:/usr/GNUstep/Local/Libraries/Guile:/usr/GNUstep/Network/Libraries/Guile:/usr/GNUstep/System/Libraries/Guile"
declare -x G_BROKEN_FILENAMES="1"
declare -x HOME="/home/user"
declare -x HOSTNAME="host"
declare -x INFODIR="/usr/share/info:/usr/X11R6/info"
declare -x INFOPATH="/usr/share/info:/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info"
declare -x INPUTRC="/etc/inputrc"
declare -x JAVAC="/opt/blackdown-jdk-1.4.1/bin/javac"
declare -x JAVA_HOME="/opt/blackdown-jdk-1.4.1"
declare -x JDK_HOME="/opt/blackdown-jdk-1.4.1"
declare -x KDEDIR="/usr/kde/3.1"
declare -x KDEDIRS="/usr"
declare -x LARCH_PATH="/usr/share/splint/lib"
declare -x LCLIMPORTDIR="/usr/share/splint/imports"
declare -x
LD_LIBRARY_PATH="/home/user/GNUstep/Libraries/ix86/linux-gnu/gnu-gnu-gnu:/home/user/GNUstep/Libraries/ix86/linux-gnu:/usr/GNUstep/Local/Libraries/ix86/linux-gnu/gnu-gnu-gnu:/usr/GNUstep/Local/Libraries/ix86/linux-gnu:/usr/GNUstep/Network/Libraries/ix86/linux-gnu/gnu-gnu-gnu:/usr/GNUstep/Network/Libraries/ix86/linux-gnu:/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu:/usr/GNUstep/System/Libraries/ix86/linux-gnu"
declare -x LESS="-R"
declare -x LESSOPEN="|lesspipe.sh %s"
declare -x LIBRARY_COMBO="gnu-gnu-gnu"
declare -x LOGNAME="user"
declare -x
LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.png=01;35:*.mpg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:"
declare -x MAIL="/var/mail/user"
declare -x
MANPATH="/usr/share/man:/usr/local/share/man:/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man:/usr/X11R6/man:/opt/blackdown-jdk-1.4.1/man:/opt/vmware/man"
declare -x MOZILLA_FIVE_HOME="/usr/lib/mozilla"
declare -x OLDPWD
declare -x PAGER="/usr/bin/less"
declare -x
PATH="/home/user/GNUstep/Tools:/home/user/GNUstep/Tools/ix86/linux-gnu/gnu-gnu-gnu:/home/singollo/GNUstep/Tools/ix86/linux-gnu:/usr/GNUstep/Local/Tools:/usr/GNUstep/Local/Tools/ix86/linux-gnu/gnu-gnu-gnu:/usr/GNUstep/Local/Tools/ix86/linux-gnu:/usr/GNUstep/Network/Tools:/usr/GNUstep/Network/Tools/ix86/linux-gnu/gnu-gnu-gnu:/usr/GNUstep/Network/Tools/ix86/linux-gnu:/usr/GNUstep/System/Tools:/usr/GNUstep/System/Tools/ix86/linux-gnu/gnu-gnu-gnu:/usr/GNUstep/System/Tools/ix86/linux-gnu:/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.2:/opt/stuffit/bin:/usr/X11R6/bin:/opt/blackdown-jdk-1.4.1/bin:/opt/blackdown-jdk-1.4.1/jre/bin:/usr/qt/3/bin:/usr/qt/tinyq/bin:/usr/kde/3.1/bin:/usr/games/bin:/opt/vmware/bin:~/bin"
declare -x PS1="\\[\\033[01;32m\\]\\u@\\h \\[\\033[01;34m\\]\\W \\\$
\\[\\033[00m\\]"
declare -x PWD="/home/user"
declare -x QMAKESPEC="linux-g++"
declare -x QTDIR="/usr/qt/3"
declare -x SANE_CONFIG_DIR="/etc/sane.d"
declare -x SDL_DSP_NOSELECT="1"
declare -x SESSION_MANAGER="local/host:/tmp/.ICE-unix/1367"
declare -x SHELL="/bin/bash"
declare -x SHLVL="5"
declare -x TERM="xterm"
declare -x USER="user"
declare -x WINDOWID="23131140"
declare -x WINDOW_MANAGER="/usr/bin/metacity"
declare -x XAUTHORITY="/home/user/.Xauthority"
declare -x XINITRC="/etc/X11/xinit/xinitrc"


Portage 2.0.48-r5 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1)
=================================================================
System uname: 2.4.20-gentoo-r5 i686 AMD Athlon(tm) Processor
GENTOO_MIRRORS="http://gentoo.oregonstate.edu
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config
/usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config
/usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="x86 oss 3dnow apm avi crypt cups encode foomaticdb gif jpeg libg++ mad
mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv
zlib gtkhtml gdbm berkdb slang readline arts tetex bonobo svga tcltk java guile
sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis qt kde motif opengl
mozilla cdr scanner X gtk gtk2 gnome dvd"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O3 -pipe"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
ACCEPT_KEYWORDS="x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache userpriv usersandbox"
Comment 1 Matthew Swank 2003-07-20 21:51:32 UTC
 gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/specs
Configured with: /var/tmp/portage/gcc-3.2.3-r1/work/gcc-3.2.3/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.2 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++,ada,f77,objc,java --enable-threads=posix --enable-long-long --disable-checking --enable-cstdio=stdio --enable-clocale=generic --enable-__cxa_atexit --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --enable-nls --without-included-gettext
Thread model: posix
gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1, propolice)
Comment 2 Martin Schlemmer (RETIRED) gentoo-dev 2003-07-21 07:58:18 UTC
You need to link in the math library:

---------------------------------------
tmp $ cat temp.c 
#include<math.h>
int main()
{
    return sin(2);
}
tmp $ gcc -Wall -c temp.c -o temp.o
tmp $ gcc -lm temp.c    
tmp $ ./a.out
tmp $