Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

compile will not link from elf64-x86-64 to elf32-i386

145 views
Skip to first unread message

Anolis

unread,
Jul 10, 2006, 5:59:20 PM7/10/06
to
first off im running on an AMD64 3800+, Ubuntu 6.06,
2.6.15-25-amd64-generic
ive been working on getting this thing to work for the past few hours,
setup symbolic links like in the howto run wine on amd64 tutorial, plus
some. and started compiling, make depend went well, and so was make all
until this happened

make[2]: Entering directory `/home/anolis/Desktop/wine-0.9.16/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 -L../../dlls -ladvapi32 -lkernel32
-lntdll -L../../libs -lwine -L../../libs/unicode -lwine_unicode
/usr/lib/libsicuuc.a /usr/lib/libsicudata.a -lstdc++ -lgcc_s
-L../../libs/port -lwine_port -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.SKwleX.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/anolis/Desktop/wine-0.9.16/dlls/gdi'
make[1]: *** [gdi] Error 2
make[1]: Leaving directory `/home/anolis/Desktop/wine-0.9.16/dlls'
make: *** [dlls] Error 2

I am completely baffled by this , I even updated binutils from 2.16 to
2.17 and still no change. I hope that there is something that can be
done.

Detlef Riekenberg

unread,
Jul 15, 2006, 3:10:09 AM7/15/06
to wine-...@winehq.org
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


mi...@groupwhere.org

unread,
Aug 3, 2006, 6:46:12 PM8/3/06
to
Any solution to this? I am hitting the same problem with the same lib.

jason.r...@gmail.com

unread,
Aug 19, 2006, 11:14:03 PM8/19/06
to
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

Octoploid

unread,
Aug 21, 2006, 3:10:38 PM8/21/06
to

jason.r...@gmail.com wrote:
> 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


You forgot a 'r'. It should read: xargs ar uvr libsicuuc.a

syaz...@gmail.com

unread,
Sep 15, 2006, 4:25:56 PM9/15/06
to
I was unable to run the ar command, but hacking the Makefile to say
-licuuc and -licudata, instead of -L/usr/local/lib/libicuuc.a etc,
helped
the compiler to continue. I'm guessing that's a valid hack as well.

Cheers,
Soroosh

0 new messages