I cannot emerge wine-20050930 or 0.9. Here is the error --- main.o(.text+0x58): In function `main': /var/tmp/portage/wine-0.9/work/wine-0.9/loader/main.c:44: undefined reference to `wine_pthread_set_functions' collect2: ld returned 1 exit status make[1]: *** [wine-kthread] Error 1 make[1]: Leaving directory `/var/tmp/portage/wine-0.9/work/wine-0.9/loader' make: *** [loader] Error 2 --- emerge info follows --- Portage 2.0.51.22-r3 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14-gentoo x86_64) ================================================================= System uname: 2.6.14-gentoo x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.6.13 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5-r2, 2.4.1-r1 sys-apps/sandbox: 1.2.9 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.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/config /var/qmail/alias /var/qmail/control /var/vpopmail/domains /var/vpopmail/etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=k8 -O2" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.mirrors.easynews.com/linux/gentoo/ http://gentoo.ccccom.com http://mirror.espri.arizona.edu/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ ftp://gentoo.ccccom.com" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X aalib acpi aim alsa artworkextra avi berkdb bitmap-fonts bonobo cdr crypt cups curl dbus debug dvd dvdr dvi eds emboss encode esd flac font-server foomaticdb fortran gif gimpprint glitz gnome gnutls gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal imagemagick imlib ipv6 java jpeg ldap libwww lzw lzw-tiff mad motif mozilla mp3 mpeg mysql nas nautilus ncurses new-login nls nowin nptl numeric nvidia ofx ogg oggvorbis opengl pam pda pdflib perl png ppds python qt quicktime readline scanner sdl spell sqlite ssl svg t1lib tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts udev usb userlocales videos vorbis xine xinerama xml xml2 xmms xpm xv xvid yahoo zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS --- Reproducible: Always Steps to Reproduce: 1. emerge =wine-0.9 2. 3. Expected Results: wine installed
Created attachment 71678 [details] Config.log Here is the config.log in case it is helpful.
post the lines before the error message
(In reply to comment #2) > post the lines before the error message Don't know how many lines before or after you would like to see. Anyway, here's some from before. --- make[1]: Leaving directory `/var/tmp/portage/wine-0.9/work/wine-0.9/include' make[1]: Entering directory `/var/tmp/portage/wine-0.9/work/wine-0.9/server' x86_64-pc-linux-gnu-gcc -c -I. -I. -I../include -I../include -D__WINESRC__ -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -march=k8 -O2 -o atom.o atom.c x86_64-pc-linux-gnu-gcc -c -I. -I. -I../include -I../include -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -march=k8 -O2 -fno-pic -fno-stack-protector -o kthread.o kthread.c x86_64-pc-linux-gnu-gcc -c -I. -I. -I../include -I../include -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -march=k8 -O2 -fno-pic -fno-stack-protector -o main.o main.c x86_64-pc-linux-gnu-gcc -c -I. -I. -I../include -I../include -D__WINESRC__ -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -march=k8 -O2 -o change.o change.c x86_64-pc-linux-gnu-gcc -c -I. -I. -I../include -I../include -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -march=k8 -O2 -fno-pic -fno-stack-protector -o pthread.o pthread.c x86_64-pc-linux-gnu-gcc -c -I. -I. -I../include -I../include -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -march=k8 -O2 -fno-pic -fno-stack-protector -o preloader.o preloader.c x86_64-pc-linux-gnu-gcc -c -I. -I. -I../include -I../include -D__WINESRC__ -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -march=k8 -O2 -o class.o class.c sed -e 's,@bindir\@,/usr/bin,g' -e 's,@dlldir\@,/usr/lib32/wine,g' -e 's,@PACKAGE_STRING\@,Wine 0.9,g' wine.man.in >wine.man || (rm -f wine.man && false) x86_64-pc-linux-gnu-gcc -c -I. -I. -I../include -I../include -D__WINESRC__ -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -march=k8 -O2 -o clipboard.o clipboard.c x86_64-pc-linux-gnu-gcc -o wine-glibc glibc.o -L../libs/wine -lwine -L../libs/port -lwine_port -lpthread x86_64-pc-linux-gnu-gcc -o wine-kthread -Wl,--export-dynamic -Wl,--section-start,.interp=0x7bf00400 kthread.o main.o -L../libs/wine -lwine -L../libs/port -lwine_port x86_64-pc-linux-gnu-gcc -c -I. -I. -I../include -I../include -D__WINESRC__ -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wdeclaration-after-statement -Wpointer-arith -march=k8 -O2 -o console.o console.c main.o(.text+0x58): In function `main': /var/tmp/portage/wine-0.9/work/wine-0.9/loader/main.c:44: undefined reference to `wine_pthread_set_functions' collect2: ld returned 1 exit status make[1]: *** [wine-kthread] Error 1 make[1]: Leaving directory `/var/tmp/portage/wine-0.9/work/wine-0.9/loader' make: *** [loader] Error 2 make: *** Waiting for unfinished jobs....
I'm having the same problem with wine-0.9.1. I haven't been able to compile 20050930 or 0.9 either but it was a slightly different problem. Here's my emerge --info: Portage 2.0.53_rc7 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r3, 2.6.14-gentoo-r2 x86_64) ================================================================= System uname: 2.6.14-gentoo-r2 x86_64 AMD Athlon(tm) 64 Processor 4000+ Gentoo Base System version 1.12.0_pre10 ccache version 2.4 [enabled] dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.13 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-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-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/lib64/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://ftp.du.se/pub/os/gentoo http://ds.thn.htu.se/linux/gentoo http://mirror.pudas.net/gentoo http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/" LANG="sv_SE.UTF-8" LC_ALL="sv_SE.UTF-8" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://192.168.0.6/gentoo-portage" USE="amd64 X a52 aac aalib acpi alsa apm arts audiofile avi berkdb bitmap-fonts bluetooth bzip2 cdparanoia cdr cdrom crypt cups curl dba dbus disablexmb divx4linux dts dv dvd dvdr emboss emul-linux-x86 encode esd exif expat f77 faad fam ffmpeg firefox flac foomaticdb fortran gd gd-external gif gimpprint glut gnuplot gphoto2 gpm gtk gtk2 hal idn ieee1394 imagemagick imlib java javascript jikes joystick jpeg jpeg2k kde kdeenablefinal lcms libg++ libwww lirc lm_sensors lzw lzw-tiff mad matroska mhash mikmod mng motif mp3 mpeg ncurses nls nptl nptlonly ogg oggvorbis openal opengl oss pam pcre pda pdflib perl php png python qt quicktime readline real rss ruby scanner sdl server softmmu spell sqlite ssl tcltk tcpd tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales vcd visualization vlc vorbis wxwindows xine xml2 xmms xpm xprint xv xvid zlib ~amd64 userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS, LINGUAS
Created attachment 74149 [details, diff] Patch for wine to recognize gcc's -m32 option.
Created attachment 74150 [details] New ebuild, fixing -m32 linking and library paths.
This problem is caused by gcc skipping libwine because it believes it to be incompatible. Adding the -m32 flag to gcc for linking solves this problem. That change is included in the attached ebuild. However, not all of wine is compiled and linked with gcc, parts are compiled with winegcc (built during the build process), which, among other things, ends up calling gcc for linking. winegcc does not recognize the -m32 flag and therefore does not pass it on to gcc. The attached patch adds -m32 to winegcc's list of recognized linker flags, so it gets passed to gcc. To use, put the ebuild in your overlay and the patch in the files directory. You'll also need the wine-20050524-alsa-headers.patch, the winearts-kdecvs-fix.patch, and the wine-20041019-no-stack.patch in that directory. Digest the ebuild, then emerge =wine-0.9.2-r1. This compiles and installs wine on my amd64 machine. Wine appears to work correctly, YMMV.
(In reply to comment #7) > This compiles and installs wine on my amd64 machine. Wine appears to work > correctly, YMMV. This compiles and installs wine on my amd64 machine as well. However, trying to run wine (either wine --version or an application) I get " /usr/bin/wine-pthread: relocation error: /usr/bin/wine-pthread: symbol wine_pthread_set_functions, version WINE_1.0 not defined in file libwine.so.1 with link time reference " It appears that /usr/lib points to /usr/lib64 and that an old version (last Jan. - maybe a binary install) of libwine.so.1 is in /usr/lib64 with the new version being under /usr/lib32. Delete libwine* under /usr/lib64. Recompile. Now it runs... Thanks.
sounds good ... you shouldnt have any wine libraries inside of /usr/lib64 so you should prob make sure to clean out all of it
(In reply to comment #6) > Created an attachment (id=74150) [edit] > New ebuild, fixing -m32 linking and library paths. > Had same problem with wine-0.9.3. cp wine-0.9.2-r1.ebuild wine-0.9.3-r1.ebuild emerge =wine-0.9.3-r1 SUCCESS!!!
Created attachment 75656 [details] New ebuild for wine-0.9.4 that fixes the compilation problem (again). This is an adaptation of an ebuild I wrote for wine-0.9.3 (but for some reason never submitted). It uses a patch I adapted from an older version of the wine ebuild that is slightly more robust than my own attempt.
Created attachment 75657 [details, diff] New patch for the wine-0.9.4 ebuild. This patch was originally for wine-0.9.3, but I never posted it. However, the patched section of code hasn't changed, so it still works. The new ebuild uses this.
Just wanted to add that the new ebuild I posted is cross-platform compatible (the old one only worked on amd64). What needs to get done so that the maintainers will keep this updated? It's not really an upstream bug, so it's not going to just go away. I'd be happy to take care of this issue, I just want there to be a clearly defined responsibility for this, because it's crippling on an amd64 system. For the near future, at least, a version bump of the ebuild should work.
i dont see why this cant go upstream, i was using this same fix in earlier versions of wine (~20050725) but dropped it when i stopped needing it on my box
(In reply to comment #14) > i dont see why this cant go upstream, i was using this same fix in earlier > versions of wine (~20050725) but dropped it when i stopped needing it on my box Do you know why it's no longer needed on your box? That would be very helpful, as I get the feeling that this fix shouldn't be needed in the first place. Sorry, by "upstream" I meant that I didn't think the developers of wine should have to be responsible for this patch, rather it should be handled in portage by gentoo. But what do I know? In any case, that's a discussion for another time.
upstream accepted the patch i sent them so i'll just add this patch to older versions as well
ok, the 32bit patch is now in all versions of wine
I haven't checked the status of this package for a long time. Did it today and saw that the maintainer removed the gcc patch after wine-0.9.6. Also for this fix to work the ebuild needs to be edited too. I attached an updated ebuild.
Created attachment 81298 [details] wine-0.9.9 updated ebuild with patches
> Did it today and saw that the maintainer removed the gcc patch after wine-0.9.6. that's because i got the patch committed upstream so there's nothing to do in the ebuild