Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 108054 - wine-20050930 fails to build w/ undefined esound references
Summary: wine-20050930 fails to build w/ undefined esound references
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Wine Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-04 04:03 UTC by Antek Grzymała (antoszka)
Modified: 2005-10-08 13:38 UTC (History)
2 users (show)

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 Antek Grzymała (antoszka) 2005-10-04 04:03:59 UTC
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
Comment 1 Antek Grzymała (antoszka) 2005-10-04 04:38:37 UTC
apparently there is -lesd missing from the Makefile
Comment 2 Leif Sandstede 2005-10-05 08:56:40 UTC
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.
Comment 3 Wouter Horré 2005-10-05 10:59:17 UTC
I can confirm that even with -esd the compilation fails with undefined esound
references.
Comment 4 Michael Schnake 2005-10-06 05:06:31 UTC
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). 
Comment 5 Andrew Gaydenko 2005-10-07 00:06:23 UTC
The same as in post #2.
Comment 6 SpanKY gentoo-dev 2005-10-08 13:38:38 UTC
should be fixed in cvs now