[Wine] Re: Error while compiling in Ubuntu 6.06 64 bit

Gino Chen Hsiang Jan ginochen at gmail.com
Mon Mar 19 00:46:13 CDT 2007


Hello Jason,
    I think you was execute in step 5:
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

Gino Chen Hsiang-Jan


jason.rothfuss at 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
>
> 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
>
> Kaos wrote:
> > marcus1060 at yahoo.ca wrote:
> > > When compiling in Ubuntu 6.06 64 bit using this guide:
> > > http://wiki.winehq.org/WineOn64bit
> > > When I do 'sudo make install' I get this error:
> > >
> > > 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.



More information about the wine-users mailing list