Summary: | GCC doesn't compile some packages | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Stefano <ilmalcom> |
Component: | [OLD] Unspecified | Assignee: | Please assign to toolchain <gcc-porting> |
Status: | RESOLVED CANTFIX | ||
Severity: | major | CC: | ilmalcom |
Priority: | Lowest | ||
Version: | 1.4_rc2 | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Stefano
2003-01-14 13:30:49 UTC
seems the -fPIC flag does this maybe we should add this into FAQ ? I don't know that it means... It seems a problem of the gnu linker, maybe a bug of binutils? could you list the packages with this error msg ? i.e. fam-oss mozilla I tried a lot of different CFLAGS less aggressive too, I reinstalled binutils, I tried to emerge again those packets, but nothing to do, always that error. I'm expecting some days, then I'll try with a stage2 installation :/ try in USE -pic and recompile OK, I'm trying... if my hardware configuration can help Athlon XP2000+ Mobo Biostar M7VIT chipset VIA KT400 256 DDR ram Here's the configure output bash-2.05b# emerge fam-oss Calculating dependencies ...done! >>> emerge (1 of 1) app-admin/fam-oss-2.6.9 to / >>> md5 ;-) fam-2.6.9.tar.gz >>> md5 ;-) dnotify.patch >>> Unpacking source... >>> Unpacking fam-2.6.9.tar.gz patching file acconfig.h patching file configure.in Hunk #1 succeeded at 103 (offset 4 lines). Hunk #3 succeeded at 607 (offset 8 lines). patching file fam/DNotify.c++ patching file fam/DNotify.h patching file fam/IMon.h patching file fam/Interest.c++ Hunk #1 succeeded at 43 (offset 2 lines). Hunk #3 succeeded at 110 (offset 2 lines). Hunk #5 succeeded at 157 (offset 2 lines). patching file fam/Interest.h patching file fam/Makefile.am patching file fam/Monitor.h patching file include/BTree.h patching file fam/Scheduler.h Hunk #1 succeeded at 105 (offset 1 line). * Working directory: /var/tmp/portage/fam-oss-2.6.9/work/fam-2.6.9... * Applying libtool-relink.patch... * Applying libtool-tmp.patch... * Applying libtool-portage.patch... configure.in:40: warning: do not use m4_patsubst: use patsubst or m4_bpatsubst configure.in:602: warning: do not use m4_regexp: use regexp or m4_bregexp WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot' WARNING: and `config.h.top', to define templates for `config.h.in' WARNING: is deprecated and discouraged. WARNING: Using the third argument of `AC_DEFINE' and WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without WARNING: `acconfig.h': WARNING: AC_DEFINE([NEED_MAIN], 1, WARNING: [Define if a function `main' is needed.]) WARNING: More sophisticated templates can also be produced, see the WARNING: documentation. autoheader-2.54: `config.h.in' is updated >>> Source unpacked. configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes /var/tmp/portage/fam-oss-2.6.9/work/fam-2.6.9/missing: Unknown `--run' option Try `/var/tmp/portage/fam-oss-2.6.9/work/fam-2.6.9/missing --help' for more information configure: WARNING: `missing' script is too old or missing checking for gawk... gawk checking whether make sets ${MAKE}... yes checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for style of include used by make... GNU checking for i686-pc-linux-gnu-gcc... gcc checking for C compiler default output... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking dependency style of gcc... none checking for ld used by GCC... /usr/i686-pc-linux-gnu/bin/ld checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r checking for BSD-compatible nm... nm checking whether ln -s works... yes checking how to recognise dependant libraries... pass_all checking command to parse nm output... ok checking how to run the C preprocessor... gcc -E checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for i686-pc-linux-gnu-ranlib... no checking for ranlib... ranlib checking for i686-pc-linux-gnu-strip... no checking for strip... strip checking for objdir... .libs checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.lo... yes checking if gcc supports -fno-rtti -fno-exceptions... yes checking whether the linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking dynamic linker characteristics... GNU/Linux ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether -lc should be explicitly linked in... no creating libtool checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... none checking how to run the C++ preprocessor... g++ -E checking for ranlib... (cached) ranlib checking for a BSD-compatible install... /bin/install -c checking whether make sets ${MAKE}... (cached) yes checking for tar... /bin/tar checking for ldconfig... /sbin/ldconfig checking for dnotify fcntl support... yes checking linux/imon.h usability... no checking linux/imon.h presence... no checking for linux/imon.h... no Using imon support module IMonNone checking sys/statvfs.h usability... yes checking sys/statvfs.h presence... yes checking for sys/statvfs.h... yes checking sys/syssgi.h usability... no checking sys/syssgi.h presence... no checking for sys/syssgi.h... no checking sys/fs/nfs_clnt.h usability... no checking sys/fs/nfs_clnt.h presence... no checking for sys/fs/nfs_clnt.h... no checking SGI_NOHANG... no checking for _daemonize... no checking for daemon... yes checking getgrmember... no checking for stat.st_fstype string... no checking for stat.st_ctim.tv_nsec (nanoseconds)... no checking for mountlist struct... no checking for mountlist pointer... yes checking mntent.h for MNTTYPE_NFS... yes checking mntent.h for MNTTYPE_NFS2... no checking mntent.h for MNTTYPE_NFS3... no checking mntent.h for MNTTYPE_CACHEFS... no checking netinet/in.h for bindresvport()... yes checking for prmap_sgi_t... no checking for socklen_t... yes checking for built-in bool... yes checking for C++ namespace support... yes checking for echo... /bin/echo checking for echo -e flag... /bin/echo -e configure: creating ./config.status config.status: creating Makefile config.status: creating build/Makefile config.status: creating build/rpm/Makefile config.status: creating build/rpm/rpm.spec config.status: creating fam/Makefile config.status: creating fam/fam.conf config.status: creating include/Makefile config.status: creating libfam/Makefile config.status: creating man/Makefile config.status: creating man/fam.1m config.status: creating support/Makefile config.status: creating test/Makefile config.status: creating util/Makefile config.status: creating util/editconf/Makefile config.status: creating config.h config.status: executing default-1 commands config.status: executing default-2 commands config.status: executing default-3 commands removing maintainer comments from fam/fam.conf config.status: executing default-4 commands replacing XXX_FAM_CONF with /etc/fam.conf and removing maintainer comments in man/fam.1m cd . && \ automake --gnu Makefile cd . && \ CONFIG_HEADERS= CONFIG_LINKS= \ CONFIG_FILES=Makefile /bin/sh ./config.status config.status: creating Makefile config.status: executing default-1 commands config.status: executing default-2 commands config.status: executing default-3 commands config.status: executing default-4 commands cd . && autoheader WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot' WARNING: and `config.h.top', to define templates for `config.h.in' WARNING: is deprecated and discouraged. WARNING: Using the third argument of `AC_DEFINE' and WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without WARNING: `acconfig.h': WARNING: AC_DEFINE([NEED_MAIN], 1, WARNING: [Define if a function `main' is needed.]) WARNING: More sophisticated templates can also be produced, see the WARNING: documentation. autoheader-2.54: `config.h.in' is unchanged cd . \ && CONFIG_FILES= CONFIG_HEADERS=config.h \ /bin/sh ./config.status config.status: creating config.h config.status: config.h is unchanged config.status: executing default-1 commands config.status: executing default-2 commands config.status: executing default-3 commands config.status: executing default-4 commands Here's the make error gcc -shared Client.lo fam.lo -lstdc++ -Wl,-soname -Wl,libfam.so.0 -Wl,-retain-symbols-file -Wl,fam.sym -o .libs/libfam.so.0.0.0 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../../i686-pc-linux-gnu/bin/ld: .libs/libfam.so.0.0.0: undefined versioned symbol name std::time_put_w@@GLIBCPP_3.2 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../../i686-pc-linux-gnu/bin/ld: failed to set dynamic section sizes: Bad value collect2: ld returned 1 exit status do you use colorgcc ? watch out #emerge -pu world --deep try update everything related for compiling (all) No one compiling-related packages to download :( Calculating world dependencies ...done! [ebuild U ] sys-apps/portage-2.0.46-r6 [2.0.46-r4] *** Portage will stop merging at this point and reload itself, recalculate dependancies, and complete the merge. [ebuild N ] app-admin/fam-oss-2.6.9 [ebuild N ] gnome-base/nautilus-2.0.8 [ebuild N ] sys-devel/gdb-5.3 [ebuild N ] gnome-extra/bug-buddy-2.2.0 What should I do now? try emerge libtool please paste #emerge info I merged libtool, here's the output of emerge info System uname: 2.4.20 i686 AMD Athlon(tm) XP 2000+ USE="oss 3dnow apm crypt encode quicktime spell xml2 slang X gtk gnome alsa aalib arts avi bonobo berkdb cups dga directfb fbcon gdbm gif gpm imlib java jikes jpeg kde libg++ libwww mikmod mmx motif mozilla mpeg ncurses odbc oggvorbis pam pdflib perl png python qt qtmt readline static sdl svga tcltk tcpd tetex tiff truetype xmms xv zlib x86 -ssl -nls -esd opengl -pic" ARCH="x86" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-mcpu=athlon-xp -O2 -pipe" CXXFLAGS="-mcpu=athlon-xp -O2 -pipe" ACCEPT_KEYWORDS="x86" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" MAKEOPTS="-j2" JDK_HOME="" JAVA_HOME="/opt/blackdown-jre-1.3.1" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo" Before you say it :) I already tried CFLAGS="-march=athlon-tbird -O3 -fomit-frame-pointer -pipe -falign-functions=4 -fprefetch-loop-arrays -ffast-math -fPIC" and CFLAGS="-march=athlon-tbird -O3 -pipe -fomit-frame-pointer -mmmx -funroll-loops -frerun-cse-after-loop -falign-functions=4 -expensive-optimizations" I just compiled fam-oss just fine. Does it still fail for you? Try this and see if it still fails: # export CFLAGS="-O" # ebuild /usr/portage/app-admin/fam-oss/fam-oss-2.6.9.ebuild compile To reset your CFLAGS, just do a: # source /etc/make.conf If it doesn't fail with only -O, then try doing your original settings: # ebuild /usr/portage/app-admin/fam-oss/fam-oss-2.6.9.ebuild compile To see if it is your CFLAGS. If it is, it might be a compiler bug or just a latent bug in the code that a higher optimization level exposes. stefano, is this still an issue for you? Try to update binutils to 2.13.90.0.18 ? This Bug hasn't seen updates in eons. Marking as CANTFIX since the core problem appears to have never been properly identified, or it was likely something mysterious and maybe fixed in later versions of some packages. Re-open if this is not the case, but check to see if any new bugs fit better before re-opening. |