Google 网上论坛不再支持新的 Usenet 帖子或订阅项。历史内容仍可供查看。

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

已查看 145 次
跳至第一个未读帖子

Anolis

未读,
2006年7月10日 17:59:202006/7/10
收件人
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

未读,
2006年7月15日 03:10:092006/7/15
收件人 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

未读,
2006年8月3日 18:46:122006/8/3
收件人
Any solution to this? I am hitting the same problem with the same lib.

jason.r...@gmail.com

未读,
2006年8月19日 23:14:032006/8/19
收件人
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

未读,
2006年8月21日 15:10:382006/8/21
收件人

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

未读,
2006年9月15日 16:25:562006/9/15
收件人
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 个新帖子