Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 82758 - AMD64 Wine build is missing a library that is references
Summary: AMD64 Wine build is missing a library that is references
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: High major (vote)
Assignee: Wine Maintainers
URL: http://forums.gentoo.org/viewtopic-t-...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-20 20:37 UTC by Mario
Modified: 2005-03-19 04:57 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patch to allow compilation of wine on amd64 (wine-20050211-amd64.patch,1.78 KB, patch)
2005-02-23 14:01 UTC, Herbie Hopkins (RETIRED)
Details | Diff
patch to allow compilation of wine on amd64 (wine-20050211-amd64.patch,1.91 KB, patch)
2005-02-23 15:21 UTC, Herbie Hopkins (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mario 2005-02-20 20:37:08 UTC
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
Comment 1 Herbie Hopkins (RETIRED) gentoo-dev 2005-02-22 03:54:00 UTC
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?
Comment 2 Mark Persohn 2005-02-22 17:52:53 UTC
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?
Comment 3 John Myers 2005-02-23 10:00:49 UTC
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 :(
Comment 4 Herbie Hopkins (RETIRED) gentoo-dev 2005-02-23 14:01:43 UTC
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?
Comment 5 Mark Persohn 2005-02-23 14:37:30 UTC
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
Comment 6 Herbie Hopkins (RETIRED) gentoo-dev 2005-02-23 15:21:44 UTC
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.
Comment 7 Mark Persohn 2005-02-23 16:12:43 UTC
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
Comment 8 Herbie Hopkins (RETIRED) gentoo-dev 2005-02-23 16:26:41 UTC
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.
Comment 9 Mark Persohn 2005-02-23 16:47:06 UTC
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?
Comment 10 Herbie Hopkins (RETIRED) gentoo-dev 2005-02-28 06:25:26 UTC
This ebuild appears to only work with a natively compiled x86 glibc. i.e an upgrade to 2005.0 profile is required.
Comment 11 Mario 2005-02-28 06:35:01 UTC
If it only works on 2005.0 - shouldn't it be hard masked for other profiles?
Comment 12 Herbie Hopkins (RETIRED) gentoo-dev 2005-02-28 06:46:16 UTC
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.
Comment 13 Pablo Trabajos 2005-02-28 14:32:04 UTC
Just checked. Did a 'emerge sync' 20 hours ago and it's hardmasked for ALL platforms. 
Maybe someone just commited an error.
Comment 14 Herbie Hopkins (RETIRED) gentoo-dev 2005-03-07 08:59:48 UTC
vapier: just adding you to the CC on this since you are the maintainer..
Comment 15 SpanKY gentoo-dev 2005-03-08 06:46:20 UTC
i'm not the maintainer
Comment 16 SpanKY gentoo-dev 2005-03-08 08:49:11 UTC
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
Comment 17 Herbie Hopkins (RETIRED) gentoo-dev 2005-03-08 15:01:52 UTC
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.
Comment 18 SpanKY gentoo-dev 2005-03-08 15:10:27 UTC
(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
Comment 19 flipy 2005-03-18 17:54:42 UTC
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
Comment 20 Pablo Trabajos 2005-03-18 18:04:11 UTC
flipy, i had that problem but it went with  EXTRA_ECONF="--x-libraries=/emul/linux/x86/usr/lib" emerge wine -av
Comment 21 flipy 2005-03-19 02:36:06 UTC
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...
Comment 22 Pablo Trabajos 2005-03-19 04:57:09 UTC
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.