[Wine] Re: compile will not link from elf64-x86-64 to elf32-i386

jason.rothfuss at gmail.com jason.rothfuss at gmail.com
Mon Mar 19 00:46:01 CDT 2007


Hi,

I had the same problem, and solved it using this technique on Ubuntu
6.06 / dapper:

STEP 1:  Download ICU library source from
http://www-306.ibm.com/software/globalization/icu/downloads.jsp

STEP 2: Untar what you just downloaded
$ tar zxvf icu-3.4.1.tgz

STEP 3: Run the configure script in this manner:
$ LDFLAGS="-L/lib32 -L/usr/lib32 -Wl,-rpath,/lib32
-Wl,-rpath,/usr/lib32" CC="gcc -m32" CXX="g++ -m32" ./configure

STEP 4: Build the ICU libraries
$ make

STEP 5: Manually create the libsicuuc.a archive:
$ ar t /usr/lib/libsicuuc.a | sed -e 's/ao$/o/' | perl -e 'while(<>){
chomp($_); print "find . -name $_ | xargs ar uv libsicuuc.a\n"; }' >
mkar.sh
$ sh mkar.sh

STEP 6: Copy the archive to /usr/lib32
$ cp libsicuuc.a /usr/lib32/

STEP 7: Hack the wine dlls/gdi/Makefile to include the archive you just
copied to /usr/lib32
Change:
EXTRALIBS = /usr/lib/libsicuuc.a /usr/lib/libsicudata.a -lstdc++
-lgcc_s
-to-
EXTRALIBS = /usr/lib32/libsicuuc.a /usr/lib/libsicudata.a -lstdc++
-lgcc_s

STEP 8: Continue with the 'make all' step in compiling wine.

After doing this, I had a working version of wine.  Kind of a pain to
go through, but I was expecting worse.

Jason

milos at groupwhere.org wrote:
> Any solution to this?  I am hitting the same problem with the same lib.
>
> Detlef Riekenberg wrote:
> > Anolis wrote:
> > > first off im running on an AMD64 3800+, Ubuntu 6.06,
> > > 2.6.15-25-amd64-generic
> >
> > > ld: Relocatable linking with relocations from format elf64-x86-64
> > > (/usr/lib/libsicuuc.a(ubidi.ao)) to format elf32-i386 (gdi32.SKwleX.o)
> > > is not supported
> >
> > You need the correct (32-bit) dev-package for the mentioned
> > (/usr/lib/libsicuuc.a(ubidi.ao))
> > 
> > 
> > 
> > -- 
> > By By ...
> >       ... Detlef



More information about the wine-users mailing list