wine-20050930 fails to build on x86 with errors suggesting there's something wrong with my esound includes, but they seem to be right in place and in good shape: $ qpkg -cm esound media-sound/esound-0.2.36-r1 * 0/89 Reproducible: Always Steps to Reproduce: 1. emerge wine-20050930 with USE="X alsa cups opengl gif glut jack jpeg ncurses lcms -arts -debug -nas -oss" 2. 3. Actual Results: wine fails to build with the following error: i686-pc-linux-gnu-gcc -c -I. -I. -I../../../include -I../../../include -D__WINESRC__ -DWINE_NO_DEBUG_MSGS -DWINE_NO_TRACE_MSGS -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -march=pentium4 -O2 -pipe -I//usr/include/lcms -o jack.o jack.c audio.o(.text+0x1b0): In function `ESD_CloseWaveOutDevice': /var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:266: undefined reference to `esd_close' audio.o(.text+0x23e): In function `ESD_CloseWaveInDevice': /var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:285: undefined reference to `esd_close' audio.o(.text+0x309): In function `ESD_WaveInit': /var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:332: undefined reference to `esd_open_sound' audio.o(.text+0x31e):/var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:337: undefined reference to `esd_close' audio.o(.text+0x198d): In function `ESD_widMessage': /var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:1867: undefined reference to `esd_record_stream' audio.o(.text+0x24b0): In function `ESD_wodMessage': /var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:1127: undefined reference to `esd_play_stream' collect2: ld returned 1 exit status winegcc: i686-pc-linux-gnu-gcc failed. make[2]: *** [wineesd.drv.so] Error 2 make[2]: Leaving directory `/var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd' make[1]: *** [winmm/wineesd] Error 2 make[1]: *** Waiting for unfinished jobs.... Expected Results: should build. here's my emerge --info: Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12-gentoo-r10 i686) ================================================================= System uname: 2.6.12-gentoo-r10 i686 Intel(R) Pentium(R) 4 CPU 3.20GHz Gentoo Base System version 1.6.13 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.5-r2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.zie.pg.gda.pl/ http://src.gentoo.pl/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo http://gentoo.linux.no/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://gentoo.inode.at/source/ http://gentoo.inode.at/ ftp://ftp.easynet.nl/mirror/gentoo/" LC_ALL="en_GB.UTF-8" LINGUAS="pl" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 16bit X aac aalib acl alsa apache2 apm audiofile avi bash-completion berkdb bitmap-fonts bluetooth bonobo bootspla bootsplash browserplugin bzip2 bzlib cairo calendar caps cdparanoia cdr cjk commercial crypt cscope cups curl curlwrappers dba dvd dvdr dynagraph eds encode ethereal evo faad flac foomaticdb fortran gcj gd gdbm gif gimp gimpprint gnome gpm gstreamer gtk gtk2 gtkhtml hal howl iconv imagemagick imap imlib inkjar ipv6 irda irmc jabber jack java jpeg junit kdeenablefinal ladcca ladspa lcms ldap libg++ libgda libwww linuxkeys logrotate mad mbox mikmod mmx mng motif mozilla moznocompose moznoirc moznomail mozsvg mp3 mpeg mpm-prefork mysql ncurses net nethack nls nojython nosrc nptl nptlonly objc offensive ogg oggvorbis opengl operanom2 pam pcmcia pcre pda pdf pdflib perl plotutils png pnp ppds python qt quicktime readline real samba sasl scanner sdl slang slp smartcard snmp sox speex spell sse ssl svg tabs tcltk tcpd tetex theora threads tidy tiff timidity truetype truetype-fonts trusted type1-fonts unicode usb userlocales vorbis wifi xface xgetdefault xine xinerama xml2 xmms xprint xrandr xv xvid zlib video_cards_rage128 linguas_pl userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS
apparently there is -lesd missing from the Makefile
I do not know if this is the same problem, but I think it is at least related. The ebuild does not seem to respect the -esd useflag. Compiling wine from source not using portage seems to work fine for me. audio.c:191: warning: `wodPlayerCmdString' defined but not used ../../../tools/winegcc/winegcc -B../../../tools/winebuild -shared ./wineesd.drv.spec esound.o audio.o -o wineesd.drv.so -L../../../dlls -L../../../dlls/winmm -L../../../dlls/user32 -L../../../dlls/kernel32 -lwinmm -luser32 -lkernel32 -L../../../libs/wine -lwine -ldxguid -luuid -L../../../libs/port -lwine_port audio.o(.text+0x1c4): In function `ESD_CloseWaveOutDevice': /var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:266: undefined reference to `esd_close' audio.o(.text+0x244): In function `ESD_CloseWaveInDevice': /var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:285: undefined reference to `esd_close' audio.o(.text+0x316): In function `ESD_WaveInit': /var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:332: undefined reference to `esd_open_sound' audio.o(.text+0x337):/var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:337: undefined reference to `esd_close' audio.o(.text+0x145c): In function `wodOpen': /var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:1127: undefined reference to `esd_play_stream' audio.o(.text+0x2706): In function `widOpen': /var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd/audio.c:1867: undefined reference to `esd_record_stream' collect2: ld returned 1 exit status winegcc: i686-pc-linux-gnu-gcc failed. make[2]: *** [wineesd.drv.so] Error 2 make[2]: Leaving directory `/var/tmp/portage/wine-20050930/work/wine-20050930/dlls/winmm/wineesd' make[1]: *** [winmm/wineesd] Error 2 make[1]: Leaving directory `/var/tmp/portage/wine-20050930/work/wine-20050930/dlls' make: *** [dlls] Error 2 !!! ERROR: app-emulation/wine-20050930 failed. !!! Function src_compile, Line 119, Exitcode 2 !!! all !!! If you need support, post the topmost build error, NOT this status message.
I can confirm that even with -esd the compilation fails with undefined esound references.
IMHO related to http://www.winehq.com/hypermail/wine-patches/2005/08/0041.html which adds esound support and was commited on 2005/08/03 according to http://bugs.winehq.com/show_bug.cgi?id=326 I do not really know much about autoconf, but think this is what happens... The ebuild sets ESDCONFIG to "/bin/false" for the "-esd" useflag. If you look at the configure.ac changes from the patch that will result in nothing being added to CFLAGS. Thats fine. But then AC_CHECK_LIB is used to set HAVE_ESD. So HAVE_ESD will set as soon as the esound libs are installed, regardless of wether ESDCONFIG was run successfully or not. So if the esound libs are installed esound support will unconditionally be compiled, but if ESDCONFIG is "bin/false" (= "-esd" useflag used) the nedded libs will be missing from CFLAGS, resulting in the errors shown above. As a workaround emerge with "+esd" useflag works for me (as should "-esd" if media-sound/esound is *not* actually installed).
The same as in post #2.
should be fixed in cvs now