Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 24941 - can't link against static library after update to glibc 2.3.2-r1
Summary: can't link against static library after update to glibc 2.3.2-r1
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Martin Schlemmer (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-07-20 21:06 UTC by Matthew Swank
Modified: 2003-07-21 07:58 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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 $