make[2]: Entering directory `/home/marcus/wine/dlls/gdi'
../../tools/winegcc/winegcc -B../../tools/winebuild -shared
./gdi32.spec dispdib.spec.o gdi.exe.spec.o wing.spec.o bidi16.o
dispdib.o env.o gdi16.o metafile16.o wing.o bidi.o bitblt.o bitmap.o
brush.o clipping.o dc.o dib.o driver.o enhmetafile.o enhmfdrv/bitblt.o
enhmfdrv/dc.o enhmfdrv/graphics.o enhmfdrv/init.o enhmfdrv/mapping.o
enhmfdrv/objects.o font.o freetype.o gdi_main.o gdiobj.o icm.o
mapping.o metafile.o mfdrv/bitblt.o mfdrv/dc.o mfdrv/graphics.o
mfdrv/init.o mfdrv/mapping.o mfdrv/objects.o mfdrv/text.o painting.o
palette.o path.o pen.o printdrv.o region.o version.res
-Wl,--rpath,\$ORIGIN/`../../tools/relpath /usr/local/lib/wine
/usr/local/lib` -o gdi32.dll.so -ladvapi32 -lkernel32 -lntdll
/usr/lib/libsicuuc.a /usr/lib/libsicudata.a -lstdc++ -lgcc_s
../../libs/port/libwine_port.a -L/lib32 -L/usr/lib32 -Wl,-rpath,/lib32
-Wl,-rpath,/usr/lib32
ld: Relocatable linking with relocations from format elf64-x86-64
(/usr/lib/libsicuuc.a(ubidi.ao)) to format elf32-i386 (gdi32.QFXYMS.o)
is not supported
winebuild: ld -m elf_i386 -r failed with status 256
winegcc: ../../tools/winebuild/winebuild failed.
make[2]: *** [gdi32.dll.so] Error 2
make[2]: Leaving directory `/home/marcus/wine/dlls/gdi'
make[1]: *** [gdi/__install-lib__] Error 2
make[1]: Leaving directory `/home/marcus/wine/dlls'
make: *** [dlls/__install-lib__] Error 2
It's seem that the compiler first compiling to a 64bit program , and
them it trying to linking to generate a 32bit program.
One reason for this is that yo forget to put one of those command shows
on theabove page, tray to check all the directories that apear on :
LDFLAGS="-L/lib32 -L/usr/lib32 -Wl,-rpath,/lib32 -Wl,-rpath,/usr/lib32"
./configure
and make sure all command writing.
If you still having this problem, perhaps you download a wrong version
of wine.
hail.
Claudio Alvarez Barros.
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
Gino Chen Hsiang-Jan
Jason
avf@avf-desktop:~/icu$ ./runConfigureICU --disable-64bit-libs
as was suggested in the libsicuuc readme. that didn't work either. i
must say i'm a little lost here. i'm getting this error message on wine
make:.
ld: Relocatable linking with relocations from format elf64-x86-64
(/usr/lib/libsicuuc.a(ubidi.ao)) to format elf32-i386 (gdi32.wrAbiY.o)
is not supported
winebuild: ld -m elf_i386 -r failed with status 256
any suggestion will be most appreciated.
avishai
I think that you're missing one step: Hack the gdi/Makefile. You're
still picking up /usr/lib/libsicuuc.a instead of
/usr/lib32/libsicuuc.a.
Regards,
Jason
The typo was in Step 5, and it should be:
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 ruv libsicuuc.a\n"; }' >
mkar.sh
$ sh mkar.sh