Do you want me to merge these packages? [Yes/No] y >>> Emerging (1 of 1) media-sound/xmms-1.2.10-r16 to / >>> Downloading http://trumpetti.atm.tut.fi/gentoo/distfiles/xmms-1.2.10-gentoo-patches-2.3.1.tar.bz2 --14:02:05-- http://trumpetti.atm.tut.fi/gentoo/distfiles/xmms-1.2.10-gentoo-patches-2.3.1.tar.bz2 => `/usr/portage/distfiles/xmms-1.2.10-gentoo-patches-2.3.1.tar.bz2' Resolving trumpetti.atm.tut.fi... 130.230.54.100 Connecting to trumpetti.atm.tut.fi|130.230.54.100|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 577.050 (564K) [application/x-tar] 100%[====================================>] 577.050 71.76K/s ETA 00:00 14:02:13 (72.20 KB/s) - `/usr/portage/distfiles/xmms-1.2.10-gentoo-patches-2.3.1.tar.bz2' saved [577050/577050] >>> checksums files ;-) xmms-1.2.10-r14.ebuild >>> checksums files ;-) xmms-1.2.10-r16.ebuild >>> checksums files ;-) xmms-1.2.10-r15.ebuild >>> checksums files ;-) files/digest-xmms-1.2.10-r14 >>> checksums files ;-) files/digest-xmms-1.2.10-r15 >>> checksums files ;-) files/digest-xmms-1.2.10-r16 >>> checksums files ;-) files/xmms.desktop >>> checksums files ;-) files/po-update.pl >>> checksums src_uri ;-) xmms-1.2.10.tar.bz2 >>> checksums src_uri ;-) gentoo_ice-xmms-0.2.tar.bz2 >>> checksums src_uri ;-) xmms-1.2.10-gentoo-m4-1.1.tar.bz2 >>> checksums src_uri ;-) xmms-1.2.10-gentoo-patches-2.3.1.tar.bz2 >>> checksums src_uri ;-) gnomexmms.xpm >>> Unpacking source... >>> Unpacking xmms-1.2.10.tar.bz2 to /var/tmp/portage/xmms-1.2.10-r16/work >>> Unpacking gentoo_ice-xmms-0.2.tar.bz2 to /var/tmp/portage/xmms-1.2.10-r16/work >>> Unpacking xmms-1.2.10-gentoo-m4-1.1.tar.bz2 to /var/tmp/portage/xmms-1.2.10-r16/work >>> Unpacking xmms-1.2.10-gentoo-patches-2.3.1.tar.bz2 to /var/tmp/portage/xmms-1.2.10-r16/work >>> Unpacking gnomexmms.xpm to /var/tmp/portage/xmms-1.2.10-r16/work unpack gnomexmms.xpm: file format not recognized. Ignoring. * Applying various patches (bugfixes/updates) ... * 0000_all_cvs-release-1_2_10.patch ... [ ok ] * 0001_all_cvs-20050526.patch ... [ ok ] * 0010_all_skin-dir-browser.patch ... [ ok ] * 0020_all_jump.patch ... [ ok ] * 0031_all_sortbytime.patch ... [ ok ] * 0040_all_sigterm.patch ... [ ok ] * 0050_all_libxmms-charset.patch ... [ ok ] * 0060_all_keypad.patch ... [ ok ] * 0100_all_sid-songpos.patch ... [ ok ] * 0110_all_status.patch ... [ ok ] * 0120_all_wheelamount.patch ... [ ok ] * 0130_all_play_audiocd.patch ... [ ok ] * 0140_all_randomize_select.patch ... [ ok ] * 102207_gentoo_xmms.desktop.patch ... [ ok ] * 105716_gentoo_assembler-pic.patch ... [ ok ] * 110318_gentoo_xmms-mpg123-fix-vbrlength.patch ... [ ok ] * 113518_gentoo_gcc41.patch ... [ ok ] * 113518_gentoo_locales.patch ... [ ok ] * 125315_gentoo_execstack.patch ... [ ok ] * 2000_all_cdaudio-cddb-proxy.patch ... [ ok ] * 2011_all_mpg123-http-seek.patch ... [ ok ] * 2012_all_mpg123-id3convert.patch ... [ ok ] * 2013_all_mpg123-latin-id3.patch ... [ ok ] * 2014_all_mpg123-encode-override.patch ... [ ok ] * 2015_all_mpg123-id3v2edit.patch ... [ ok ] * 2020_all_mpg123-vorbis-ssl.patch ... [ ok ] * 2100_all_diskwriter-effect.patch ... [ ok ] * Done with patching You should update your `aclocal.m4' by running aclocal. /var/tmp/portage/xmms-1.2.10-r16/work/m4/xmms_local.m4:7: warning: underquoted definition of AM_PATH_LIBXML run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal /var/tmp/portage/xmms-1.2.10-r16/work/m4/xmms_local.m4:157: warning: underquoted definition of XMMS_FUNC_POSIX /var/tmp/portage/xmms-1.2.10-r16/work/m4/libmikmod.m4:11: warning: underquoted definition of AM_PATH_LIBMIKMOD /usr/share/aclocal/nspr.m4:8: warning: underquoted definition of AM_PATH_NSPR autoheader-2.59: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot' autoheader-2.59: WARNING: and `config.h.top', to define templates for `config.h.in' autoheader-2.59: WARNING: is deprecated and discouraged. autoheader-2.59: autoheader-2.59: WARNING: Using the third argument of `AC_DEFINE' and autoheader-2.59: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without autoheader-2.59: WARNING: `acconfig.h': autoheader-2.59: autoheader-2.59: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1, autoheader-2.59: [Define if a function `main' is needed.]) autoheader-2.59: autoheader-2.59: WARNING: More sophisticated templates can also be produced, see the autoheader-2.59: WARNING: documentation. You should update your `aclocal.m4' by running aclocal. Putting files in AC_CONFIG_AUX_DIR, `..'. /var/tmp/portage/xmms-1.2.10-r16/work/m4/xmms_local.m4:7: warning: underquoted definition of AM_PATH_LIBXML run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal /var/tmp/portage/xmms-1.2.10-r16/work/m4/xmms_local.m4:157: warning: underquoted definition of XMMS_FUNC_POSIX /var/tmp/portage/xmms-1.2.10-r16/work/m4/libmikmod.m4:11: warning: underquoted definition of AM_PATH_LIBMIKMOD /usr/share/aclocal/nspr.m4:8: warning: underquoted definition of AM_PATH_NSPR autoheader-2.59: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot' autoheader-2.59: WARNING: and `config.h.top', to define templates for `config.h.in' autoheader-2.59: WARNING: is deprecated and discouraged. autoheader-2.59: autoheader-2.59: WARNING: Using the third argument of `AC_DEFINE' and autoheader-2.59: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without autoheader-2.59: WARNING: `acconfig.h': autoheader-2.59: autoheader-2.59: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1, autoheader-2.59: [Define if a function `main' is needed.]) autoheader-2.59: autoheader-2.59: WARNING: More sophisticated templates can also be produced, see the autoheader-2.59: WARNING: documentation. Building the xmms.pot... Wrote xmms.pot done * Using GNU config files from /usr/share/libtool * Updating config.sub [ ok ] * Updating config.guess [ ok ]>>> Source unpacked. >>> Compiling source in /var/tmp/portage/xmms-1.2.10-r16/work/xmms-1.2.10 ... * econf: updating xmms-1.2.10/config.guess with /usr/share/gnuconfig/config.guess * econf: updating xmms-1.2.10/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-nls --enable-simd --build=i686-pc-linux-gnu checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking for C compiler default output file name... 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 i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ANSI C... none needed checking for style of include used by make... GNU checking dependency style of i686-pc-linux-gnu-gcc... gcc3 checking for library containing strerror... none required checking whether byte ordering is bigendian... no checking for inline... inline checking for an ANSI C-conforming const... yes checking for a BSD-compatible install... /bin/install -c checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for a sed that does not truncate output... /bin/sed checking for egrep... grep -E checking for ld used by i686-pc-linux-gnu-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... /usr/bin/nm -B checking how to recognise dependent libraries... pass_all checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -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-g++... i686-pc-linux-gnu-g++ checking whether we are using the GNU C++ compiler... yes checking whether i686-pc-linux-gnu-g++ accepts -g... yes checking dependency style of i686-pc-linux-gnu-g++... gcc3 checking how to run the C++ preprocessor... i686-pc-linux-gnu-g++ -E checking for i686-pc-linux-gnu-g77... no checking for i686-pc-linux-gnu-f77... no checking for i686-pc-linux-gnu-xlf... no checking for i686-pc-linux-gnu-frt... no checking for i686-pc-linux-gnu-pgf77... no checking for i686-pc-linux-gnu-fort77... no checking for i686-pc-linux-gnu-fl32... no checking for i686-pc-linux-gnu-af77... no checking for i686-pc-linux-gnu-f90... no checking for i686-pc-linux-gnu-xlf90... no checking for i686-pc-linux-gnu-pgf90... no checking for i686-pc-linux-gnu-epcf90... no checking for i686-pc-linux-gnu-f95... no checking for i686-pc-linux-gnu-fort... no checking for i686-pc-linux-gnu-xlf95... no checking for i686-pc-linux-gnu-ifc... no checking for i686-pc-linux-gnu-efc... no checking for i686-pc-linux-gnu-pgf95... no checking for i686-pc-linux-gnu-lf95... no checking for i686-pc-linux-gnu-gfortran... i686-pc-linux-gnu-gfortran checking whether we are using the GNU Fortran 77 compiler... yes checking whether i686-pc-linux-gnu-gfortran accepts -g... yes checking the maximum length of command line arguments... 32768 checking command to parse /usr/bin/nm -B output from i686-pc-linux-gnu-gcc object... ok checking for objdir... .libs checking for i686-pc-linux-gnu-ar... i686-pc-linux-gnu-ar checking for i686-pc-linux-gnu-ranlib... i686-pc-linux-gnu-ranlib checking for i686-pc-linux-gnu-strip... i686-pc-linux-gnu-strip checking for correct ltmain.sh version... yes checking if i686-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no checking for i686-pc-linux-gnu-gcc option to produce PIC... -fPIC checking if i686-pc-linux-gnu-gcc PIC flag -fPIC works... yes checking if i686-pc-linux-gnu-gcc static flag -static works... yes checking if i686-pc-linux-gnu-gcc supports -c -o file.o... yes checking whether the i686-pc-linux-gnu-gcc linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by i686-pc-linux-gnu-g++... /usr/i686-pc-linux-gnu/bin/ld checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking for i686-pc-linux-gnu-g++ option to produce PIC... -fPIC checking if i686-pc-linux-gnu-g++ PIC flag -fPIC works... yes checking if i686-pc-linux-gnu-g++ static flag -static works... yes checking if i686-pc-linux-gnu-g++ supports -c -o file.o... yes checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to libtool checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking for i686-pc-linux-gnu-gfortran option to produce PIC... -fPIC checking if i686-pc-linux-gnu-gfortran PIC flag -fPIC works... yes checking if i686-pc-linux-gnu-gfortran static flag -static works... yes checking if i686-pc-linux-gnu-gfortran supports -c -o file.o... yes checking whether the i686-pc-linux-gnu-gfortran linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking for glib-config... /usr/bin/glib-config checking for GLIB - version >= 1.2.2... yes checking for gtk-config... /usr/bin/gtk-config checking for GTK - version >= 1.2.2... no *** Could not run GTK test program, checking why... *** The test program compiled, but did not run. This usually means *** that the run-time linker is not finding GTK or finding the wrong *** version of GTK. If it is not finding GTK, you'll need to set your *** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point *** to the installed location Also, make sure you have run ldconfig if that *** is required on your system *** *** If you have an old version installed, it is best to remove it, although *** you may also be able to get things to work by modifying LD_LIBRARY_PATH *** *** If you have a RedHat 5.0 system, you should remove the GTK package that *** came with the system with the command *** *** rpm --erase --nodeps gtk gtk-devel configure: error: *** GTK+ >= 1.2.2 not installed - please install first *** !!! Please attach the following file when filing a report to bugs.gentoo.org: !!! /var/tmp/portage/xmms-1.2.10-r16/work/xmms-1.2.10/config.log !!! ERROR: media-sound/xmms-1.2.10-r16 failed. Call stack: ebuild.sh, line 1526: Called dyn_compile ebuild.sh, line 923: Called src_compile xmms-1.2.10-r16.ebuild, line 110: Called econf '--enable-nls' '--enable-simd' ebuild.sh, line 527: Called die !!! econf failed !!! If you need support, post the topmost build error, and the call stack if relevant. Portage 2.1_pre7-r4 (default-linux/x86/2006.0, gcc-4.1.0, glibc-2.4-r1, 2.6.16-gentoo-r1 i686) ================================================================= System uname: 2.6.16-gentoo-r1 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System version 1.12.0_pre16 ccache version 2.4 [enabled] dev-lang/python: 2.4.2-r1 sys-apps/sandbox: 1.2.17 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/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -pipe -Os -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -pipe -Os -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/ ftp://ftp.dtiltas.lt/mirror/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/" LC_ALL="lt_LT.UTF-8" LDFLAGS="-Wl,--as-needed" LINGUAS="lt" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowext X a52 aac aalib acpi alsa apache apache2 apm artworkextra asf audiofile avi bash-completion berkdb bitmap-fonts browserplugin bzip2 cairo cdb cdparanoia cdr chroot cli crypt ctype cups curl dba dbus dri dv dvd dvdr dvdread eds emboss encode exif expat fam fastbuild fat ffmpeg firefox flac foomaticdb force-cgi-redirect fortran ftp gd gdbm gif glut gnome gnutls gpm gstreamer gtk gtk2 gtkhtml hal howl idn imagemagick imlib irssi isdnlog java javascript jpeg lame lcms libg++ libwww live logrotate mad matroska memlimit mikmod mjpeg mmx mmxext mng motif mozilla mp3 mpeg mplayer nautilus ncurses network nls nptl nptlonly nsplugin ntfs numeric nvidia offensive ogg oggvorbis openal opengl oss pam pcre pdf pdflib perl pic png posix pppd python quicktime readline real reiser4 reiserfs sdl session shorten simplexml soap sockets spell spl sqlite sse ssl symlink tcpd tiff tokenizer truetype truetype-fonts type1-fonts udev unicode usb vcd vidix vorbis win32codecs wxwindows xchat xml xml2 xsl xv xvid zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_lt userland_GNU video_cards_nvidia" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, PORTDIR_OVERLAY emerge --info
That's because of LDFLAGS="-Wl,--as-needed"...
*** Bug 129114 has been marked as a duplicate of this bug. ***
If you take a look at the config.log, you'll see: configure:9032: checking for GTK - version >= 1.2.2 configure:9139: gcc -o conftest -g -O2 -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -Wl,--as-needed conftest.c -L/usr/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -lXi -lXext -lX11 -lm >&5 configure:9142: $? = 0 configure:9144: ./conftest ./conftest: symbol lookup error: /usr/lib/libgtk-1.2.so.0: undefined symbol: gdk_root_window configure:9147: $? = 127 configure: program exited with status 127 My guess is that -lgdk needs to be in the gcc call before -lgtk. Unfortunately, I'm no good with autotools and pals, in order to change this. Adding flameeyes to the CC, because he is an as-needed ninja.
I thought I already said this. GTK+ 1.2 does not work with --as-needed. The solution is not to change the order of linking of xmms but to fix GTK+ itself to link against libgdk and iirc to libpng. I might take a look but I'm not going to build GTK 1.2 here, sorry :)
Created attachment 84635 [details, diff] make libgtk against libgdk
The attached patch should correct the linking of libgtk as it adds -lgdk to the makefile. I hope this patch is correct. At least I can compile and run xmms fine with --as-needed enabled.
gnome herd please give us some help here with gtk+1
Created attachment 84637 [details, diff] make libgtk link against libgdk - version 2
I have not tried the patch since I'm in the middle of a world rebuild, but I'm getting the same gtk error with '--as-needed' with all (so far at least) media-plugins/xmms-<name-of-plugin> I've got installed, which wants to recompile.
Why is this assigned to GNOME? sound/metalgod is responsible for xmms ... reassigning
No patch against xmms necessary if following fixes applied: bug #133818 glib-1.2.10-r5 patch, fix up linking for --as-needed bug #133819 gtk+-1.2.10-r11 --as-needed fix
add gnome peeps because this require changes to gtk afaik.
The patches given in the bug-reports linked to in comment #11 indeed make that xmms compiles fine with the as-needed use-flag. Things appear to work fine as far as I can tell. ps) Before applying those patches emerging xmms failed with the error-message as given in the startpost. warning) emerging gtk+-1.2 in my case had problems with linguas settings in make.conf. I needed to add LINGUAS="en nl" temporarily to make it emerge. (There was a bugreport on that problem)
*** Bug 144366 has been marked as a duplicate of this bug. ***
*** This bug has been marked as a duplicate of 133819 ***