LibXext.a is not found when emerging wine under ~amd64. It is not included in any of the emul* libs, including latest verisons of all emul-* libs. Reproducible: Always Steps to Reproduce: ACCEPT_KEYWORDS="~amd64" emerge wine Actual Results: gcc -m32 -c -I. -I. -I../../include -I../../include -I/usr/X11R6/include -D__WINESRC__ -DWINE_NO_DEBUG_MSGS -DWINE_NO_TRACE_MSGS -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -O3 -pipe -march=athlon64 -o x11drv.dll.dbg.o x11drv.dll.dbg.c ../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./x11drv.spec bitblt.o bitmap.o brush.o clipboard.o clipping.o codepage.o desktop.o dga2.o dib.o dib_convert.o dib_dst_swap.o dib_src_swap.o event.o graphics.o init.o keyboard.o mouse.o opengl.o palette.o pen.o scroll.o settings.o text.o window.o winpos.o wintab.o x11ddraw.o x11drv_main.o xdnd.o xfont.o xim.o xrandr.o xrender.o xvidmode.o x11drv.dll.dbg.o -o x11drv.dll.so -L../../dlls -luser32 -lgdi32 -ladvapi32 -lkernel32 -lntdll -L../../libs/wine -lwine -L../../libs/unicode -lwine_unicode -L/usr/lib64 -lXext -lX11 -L../../libs/port -lwine_port /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libXext.so when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libXext.a when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../libXext.so when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../libXext.a when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libXext.so when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libXext.a when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lXext
I tried using libXext.a from a 32bit chroot and still got the same error. I also tried copying libXext.so from the chroot to no avail. I assume somebody got this to compile or it would not have been marked ~amd64 right?
I have the /emul/linux/x86/usr/X11R6/lib/libXext.* libs the ebuild fails in the same way. ../libs/wine -lwine -L../../libs/unicode -lwine_unicode -L/usr/lib64 -lXext -lX11 -L../../libs/port -lwine_port /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libXext.so when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libXext.a when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../libXext.so when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../libXext.a when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libXext.so when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libXext.a when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lXext collect2: ld returned 1 exit status winegcc: gcc failed. make[2]: *** [x11drv.dll.so] Error 2 make[2]: Leaving directory `/var/tmp/portage/wine-20050211/work/wine-20050211/dlls/x11drv' make[1]: *** [x11drv] Error 2 make[1]: Leaving directory `/var/tmp/portage/wine-20050211/work/wine-20050211/dlls' make: *** [dlls] Error 2 !!! ERROR: app-emulation/wine-20050211 failed. !!! Function src_compile, Line 90, Exitcode 2 !!! all !!! If you need support, post the topmost build error, NOT this status message. Should this not be looking in the emul dir for th lib?
I've been working on this too. First of all, you need to get it to actually look where it's supposed to. # LDFLAGS="-L/usr/lib32" FEATURES="-sandbox" CONF_LIBDIR="/lib32" EXTRA_ECONF="--x-libraries=/usr/lib32" emerge wine is what I'm using. That still gets me the error. # cd /usr/lib32 # ln -sf libXext.so.6 libXext.so # ln -sf libX11.so.6 libXext.so Now I have it stuck at libglut. I don't have a libglut in my lib32 :(
Created attachment 51985 [details, diff] patch to allow compilation of wine on amd64 ok, got it to compile. Setting --x-libraries was the trick thanks john. This patch should allow wine to compile on amd64 (compiles 32bit version of wine). However emul-linux-x86-xlibs needs to be updated to create the symlinks John specified above in /emul/linux/x86/usr/lib (bug #81045) libXext.so -> libXext.so.6.4 libX11.so -> libX11.so.6.2 A 32bit libglut.so is required if emerged with USE="glut" (maybe this could be added to emul-linux-x86-xlibs?) Should I create a new bug report for this since it's a little off topic now?
My libXext* lives in, as does libX11* /emul/linux/x86/usr/X11R6 0 lrwxrwxrwx 1 root root 14 Aug 13 2004 libXext.so -> libXext.so.6.4 0 lrwxrwxrwx 1 root root 14 Feb 24 09:26 libXext.so.6 -> libXext.so.6.4 64 -rwxr-xr-x 1 root root 59304 Feb 24 09:26 libXext.so.6.4 The files are not in /usr/lib32 like you mention where should the symlinks go? Thanks Mark
Created attachment 51992 [details, diff] patch to allow compilation of wine on amd64 ok leave them where they are and try this patch. It should cover all eventualities ;) was forgetting about ppl on older profiles.
So close, not a clue on this one. gcc -m32 -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_NO_DEBUG_MSGS -DWINE_NO_TRACE_MSGS -D_NTSYSTEM_ -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -march=athlon64 -O2 -pipe -o server.o server.c make[2]: Leaving directory `/var/tmp/portage/wine-20050211/work/wine-20050211/dlls/olepro32' gcc -m32 -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_NO_DEBUG_MSGS -DWINE_NO_TRACE_MSGS -D_NTSYSTEM_ -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -march=athlon64 -O2 -pipe -o signal_i386.o signal_i386.c signal_i386.c: In function `wine_sigaction': signal_i386.c:114: error: `SYS_sigaction' undeclared (first use in this function) signal_i386.c:114: error: (Each undeclared identifier is reported only once signal_i386.c:114: error: for each function it appears in.) make[2]: *** [signal_i386.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Entering directory `/var/tmp/portage/wine-20050211/work/wine-20050211/dlls/psapi' gcc -m32 -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+ -Wpointer-arith -march=athlon64 -O2 -pipe -o psapi_main.o psapi_main.c make[2]: Leaving directory `/var/tmp/portage/wine-20050211/work/wine-20050211/dlls/ntdll' make[1]: *** [ntdll] Error 2 ../../tools/winebuild/winebuild -D__WINESRC__ -DWINE_NO_DEBUG_MSGS -DWINE_NO_TRACE_MSGS -o psapi.dll.dbg.c --debug -C. psapi_main.c make[1]: *** Waiting for unfinished jobs.... make[3]: Entering directory `/var/tmp/portage/wine-20050211/work/wine-20050211/dlls/psapi/tests' gcc -m32 -c -I. -I. -I../../../include -I../../../include -DWINE_NO_DEBUG_MSGS -DWINE_NO_TRACE_MSGS -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -march=athlon64 -O2 -pipe -o module.o module.c gcc -m32 -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+ -Wpointer-arith -march=athlon64 -O2 -pipe -o psapi.dll.dbg.o psapi.dll.dbg.c gcc -m32 -c -I. -I. -I../../../include -I../../../include -DWINE_NO_DEBUG_MSGS -DWINE_NO_TRACE_MSGS -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -march=athlon64 -O2 -pipe -o testlist.o testlist.c ../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./psapi.spec psapi_main.o psapi.dll.dbg.o -o psapi.dll.so -L../../dlls -lkernel32 -lntdll -L../../libs/wine -lwine -L../../libs/port -lwine_port ../../../tools/winegcc/winegcc -B../../../tools/winebuild -mconsole module.o testlist.o -o psapi_test.exe.so -L../../../libs/port -lwine_port -L../../../dlls -L../../../libs -lpsapi -lkernel32 make[3]: Leaving directory `/var/tmp/portage/wine-20050211/work/wine-20050211/dlls/psapi/tests' make[2]: Leaving directory `/var/tmp/portage/wine-20050211/work/wine-20050211/dlls/psapi' make[1]: Leaving directory `/var/tmp/portage/wine-20050211/work/wine-20050211/dlls' make: *** [dlls] Error 2 !!! ERROR: app-emulation/wine-20050211 failed. !!! Function src_compile, Line 116, Exitcode 2 !!! all !!! If you need support, post the topmost build error, NOT this status message. What profile are you running? I'm on 2004.2 Mark
hmm.. I've tested this with various use flags now and it's compiled cleanly each time. What gcc version are you using and what use flags? I'm on 2005.0 with gcc-3.4.3.20050110.
I'm on gcc version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7) # cat /etc/make.conf # These settings were set by the catalyst build script that automatically built this stage CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CXXFLAGS="${CFLAGS}" USE="java X gtk2 gnome a52 aac alsa apache2 acpi apm avi bluetooth cdr cdparanoia crypt cups dga dio dvd divx4linux imap ffmpeg flac innodb ipv6 ldap lirc lm_sensors mad mcal mime mozilla mpeg mp3 mysql ogg oggvorbis opengl oss pam pcmcia pda php pdflib qt quicktime recode samba sasl scanner sndfile snmp ssl usb v4l v4l2 vcd wifi xine xv xvid tcltk usb vhosts xmms dvdr encode multilib server" LIRC_OPTS="--with-driver=leadtek_0010" PORTDIR_OVERLAY=/usr/local/portage Sorry I'm on 2004.3 Is 2005.0 stable?
This ebuild appears to only work with a natively compiled x86 glibc. i.e an upgrade to 2005.0 profile is required.
If it only works on 2005.0 - shouldn't it be hard masked for other profiles?
In it's current state i.e without this patch, it fails on all amd64 profiles so it's a wonder why it has a keyword at all.
Just checked. Did a 'emerge sync' 20 hours ago and it's hardmasked for ALL platforms. Maybe someone just commited an error.
vapier: just adding you to the CC on this since you are the maintainer..
i'm not the maintainer
added the emul libs to DEPEND and fixed the paths to use $(get_libdir) this ebuild works fine for me with a 2004.3 profile
Sorry but reopening as this still fails to find my xlibs (ld: cannot find -lXext). In order to get wine to compile I needed to: A) create the missing symlinks as mentioned previously cd /emul/linux/x86/usr/lib ln -s libXext.so.6 libXext.so ln -s libX11.so.6 libX11.so (this is a seperate issue: bug #81045) and B) add --x-libraries=/emul/linux/x86/usr/lib to configure arguments as in my case that's where my 32bit xlibs are (where emul-linux-x86-xlibs put them). I assume that this was unecessary for you as /usr/lib32 is still a symlink to /emul/linux under 2004.3.
(A) is not a bug in wine but in the emul libs, file a diff bug for that (B) should not be an issue if your lib32 dirs are set correctly
still having troubles to install it... i've tryed to apply manually the patch (although almost everything in the patch it's already in the ebuild), and addying EXTRA_ECONF to compile, but I've always get: /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libXext.so when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib64/libXext.a when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../libXext.so when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../libXext.a when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libXext.so when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libXext.a when searching for -lXext /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3-20050110/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lXext collect2: ld returned 1 exit status winegcc: gcc failed. make[2]: *** [x11drv.dll.so] Error 2 make[2]: Leaving directory `/var/tmp/portage/wine-20050310/work/wine-20050310/dlls/x11drv' make[1]: *** [x11drv] Error 2 make[1]: Leaving directory `/var/tmp/portage/wine-20050310/work/wine-20050310/dlls' make: *** [dlls] Error 2 I've checked and the libraries are in /emul/linux/x86/usr/lib, but it seems to be looking in the wrong directories... emerge info: Portage 2.0.51.19 (default-linux/amd64/2005.0, gcc-3.4.3-20050110, glibc-2.3.4.2 0050125-r0, 2.6.11-gentoo-r4 x86_64) ================================================================= System uname: 2.6.11-gentoo-r4 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.6.10 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Mar 14 2005, 11:17:26)] distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disab led] dev-lang/python: 2.3.5 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r6 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon64 -funroll-all-loops -fpeel-loops -ftracer -funswitch- loops -pipe -fomit-frame-pointer -fweb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X1 1/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=athlon64 -funroll-all-loops -fpeel-loops -ftracer -funswitc h-loops -pipe -fomit-frame-pointer -fweb" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache distlocks fixpackages sandbox" GENTOO_MIRRORS="ftp://ftp.caliu.info/pub/gentoo ftp://ftp6.uni-erlangen.de/pub/m irrors/gentoo ftp://vlaai.snt.ipv6.utwente.nl/pub/os/linux/gentoo" LANG="en_US" LC_ALL="en_US" LDFLAGS="-Wl,-O1" 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 acpi alsa apm avi berkdb bitmap-fonts calendar cdb cdr crypt divx4l inux esd fam font-server fortran ftp gif gnome gpm gstreamer gtk gtk2 hal imagem agick imlib ithreads java jp2 jpeg lm_sensors lzw lzw-tiff mad mime motif mp3 mp eg msn ncurses nls nptl nvidia ogg oggvorbis opengl pam pdflib perl pic png pnp pthreads python quicktime readline samba sdl spell ssl svg symlink tcpd tiff tru etype truetype-fonts type1-fonts usb userlocales xml xml2 xpm xrandr xv xvid zli b linguas_es" Unset: ASFLAGS, CBUILD, CTARGET PD: I know my FLAGS may look unstable, but this is a common problem, and I think it's not realted to them
flipy, i had that problem but it went with EXTRA_ECONF="--x-libraries=/emul/linux/x86/usr/lib" emerge wine -av
still dying, EXTRA_ECONF="--x-libraries=/emul/linux/x86/usr/lib" emerge wine -av maybe there is a bug with my USE variables, but I trully don't know... everyone who had this error solved with the EXTRA_ECONF parameter, but here it's not working...
A drastic workaround is to use USE="-X". Also, take a look at this thread: http://forums.gentoo.org/viewtopic-t-298299-start-0.html specially the first two pages.