Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: wine incompatible libz op amd64  (gelezen 2898 keer)

Offline muksie

  • Lid
wine incompatible libz op amd64
« Gepost op: 2006/06/26, 19:23:46 »
Ik probeer wine te installeren op mijn 64bits Ubuntu systeem, maar dit lukt nog niet erg. Hiervoor volg ik deze howto (helemaal onderaan bij Building Wine on Ubuntu / Kubuntu 6.06 (Dapper Drake) ).

Het eerste gedeelte, de ln -s libblabla enz. gaat allemaal wel goed. Vervolgens ga ik weer naar de directory met wine source, en voer daar LDFLAGS="-L/lib32 -L/usr/lib32 -Wl,-rpath,/lib32 -Wl,-rpath,/usr/lib32"  ./configure uit. Dit levert geen problemen op, er wordt niet meer gezeurd over missende pakketen enz. en er staat dat ik met make depend && make wine kan compileren. Mooi niet dus: make depend begint eerst inderdaad vanalles te compileren, maar uiteindelijk gaat hij bij het compileren van sfnt2fnt de fout in. Hieronder zien jullie (het laatste gedeelte van) de output:

gcc -m32 -g -O2 -o sfnt2fnt sfnt2fnt.o -L../libs/unicode -lwine_unicode -L../libs/port -lwine_port -L/lib32 -L/usr/lib32 -Wl,-rpath,/lib32 -Wl,-rpath,/usr/lib32 -lfreetype -lz
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.0.3/../../../libz.so when searching for -lz
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.0.3/../../../libz.a when searching for -lz
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libz.so when searching for -lz
/usr/bin/ld: skipping incompatible /usr/bin/../lib/libz.a when searching for -lz/usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz
/usr/bin/ld: skipping incompatible /usr/lib/libz.a when searching for -lz
/usr/bin/ld: cannot find -lz
collect2: ld gaf exit-status 1 terug
make[1]: *** [sfnt2fnt] Fout 1
make[1]: Map '/home/klaas/Desktop/wine-0.9.16/tools' wordt verlaten
make: *** [tools] Fout 2

Het is dus volgens mij duidelijk dat er een fout is bij het linken van sfnt2fnt.o, omdat mijn libz.so niet compatible is ofzo. Maar nu weet ik niet hoe dit op te lossen, ik heb al sudo apt-get update en sudo apt-get upgrade gedraaid om mijn systeem iig up to date te hebben, maar dit helpt niet.

Weet iemand hoe ik dit op kan lossen?

Offline muksie

  • Lid
wine incompatible libz op amd64
« Reactie #1 Gepost op: 2006/06/28, 14:00:52 »
Ik ben ondertussen zelf al weer een stukje verder gekomen. Na het installeren van de paketten lib32z1 en lib32z1-dev was bovenstaand probleem met de incompatible libz's verholpen. Het commando make depend wordt probleem uitgevoerd. make all levert echter een probleem op tijdens het compileren van gdi32. De output:

make[2]: Map '/home/klaas/Desktop/wine-0.9.16/dlls/gdi' wordt binnengegaan
../../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.MRnEEv.o) is not supported
winebuild: ld -m elf_i386 -r failed with status 256

winegcc: ../../tools/winebuild/winebuild failed.
make[2]: *** [gdi32.dll.so] Fout 2
make[2]: Map '/home/klaas/Desktop/wine-0.9.16/dlls/gdi' wordt verlaten
make[1]: *** [gdi] Fout 2
make[1]: Map '/home/klaas/Desktop/wine-0.9.16/dlls' wordt verlaten
make: *** [dlls] Fout 2

Het is weer de linker die zeurt, en ik begrijp hieruit dat het iets te maken heeft met dat ik een 64bits OS heb, en dat een van de librarys 32bits is ofzo. Weet iemand waar dit aan ligt?

Azalin

  • Gast
wine incompatible libz op amd64
« Reactie #2 Gepost op: 2006/06/28, 17:23:03 »
Waarom persee compilen? Je zou toch ook een debje kunnen downloaden (of de wine bleeding edge aan je repos toevoegen)?

Offline muksie

  • Lid
wine incompatible libz op amd64
« Reactie #3 Gepost op: 2006/06/28, 18:34:10 »
Er zijn alleen maar i386 binary packages. Op een 64bit systeem moet je dus wel zelf compilen.

Azalin

  • Gast
wine incompatible libz op amd64
« Reactie #4 Gepost op: 2006/06/28, 21:23:03 »
Doet een 386 package het dan niet op een 64bit systeem? Ik heb een AMD maar daar ga ik toch echt niet voor compilen en dat werkt zonder problemen... of ...?

Offline muksie

  • Lid
wine incompatible libz op amd64
« Reactie #5 Gepost op: 2006/06/29, 09:29:25 »
Citaat van: Azalin
Doet een 386 package het dan niet op een 64bit systeem? Ik heb een AMD maar daar ga ik toch echt niet voor compilen en dat werkt zonder problemen... of ...?
Dit heb ik al geprobeerd, heb namelijk de i386 package voor ubuntu 6.06 gedownload, maar als ik dan het pakket probeer te installeren met sudo dpkg -i pakketnaam dan krijg ik de melding dat de architectuur van het pakket (i386) niet overeenkomt met die van mijn systeem (amd64).

Nu lees ik net in de manpage van dpkg dat met de optie --force-architecture ook pakketen met de verkeerde architectuur geinstalleerd worden. Maar daar staat ook dat de --force opties je hele systeem naar de kloten kunnen helpen. Is het veilig om --force-architecture te gebruiken?

Azalin

  • Gast
wine incompatible libz op amd64
« Reactie #6 Gepost op: 2006/06/29, 10:41:39 »
Mmm, lijkt mij niet echt heel gezond als ik dat zo lees ... Wel suf dat er zulke slechte support voor 64bit systemen mbt Wine... je zou toch denken dat daar ook aan gedacht is. Mailtje naar WineHQ sturen heeft dat geen zin?

Offline muksie

  • Lid
wine incompatible libz op amd64
« Reactie #7 Gepost op: 2006/06/29, 11:14:44 »
Ik heb de archieven van de wine-devel mailinglist even doorzocht, en daar vond ik een mail van iemand met exact hetzelfde probleem als ik, zie hier. Twee mails verderop (hier) zegt iemand:
Citaat
As the error message says:
linking a 32bit object against a 64bit library(libsicuuc.a) doesn't work.
I don't know where the /usr/lib/libsicuuc.a library comes from( I don't have it on my
system), but you need a ia32 version of the package the library belongs to.
Ik zal dus waarschijnlijk een 32bit versie van het pakket waar libsicuuc.a bijhoort, moeten installeren. Alleen weet ik nu nog niet tot welk pakket libsicuuc.a behoort. Weet iemand dit? Of is er een manier om dit te achterhalen?

Azalin

  • Gast
wine incompatible libz op amd64
« Reactie #8 Gepost op: 2006/06/29, 13:35:57 »
Ik krijg het idee dat die lib bij een pakket genaamd ICU hoort... dat zag ik tenminste voorbij komen bij google... maar echt snappen doe ik datr niet... waarom zou je ICU nodig hebben om Wine te compilen... Misschien vind ik nog meer en dat het dan wel logisch is :)

Update: het ziet er naar uit dat dit iets te maken heeft met OSS... Ik kwam wat links tegen die me naar de IBM site stuurden... daar zou het ook te downloaden moeten zijn ... maar aangezien het een oude link is en dus niet meer gebruikt wordt werd die omgebogen naar een andere Opensource pagina van IBM... We kijken verder ... :)

Overigens vond ik dus info hier: http://dev.icu-project.org/cgi-bin/viewcvs.cgi/icu/readme.html?rev=release-3-0

Update2: De download voor ICU (International Components for Unicode) vind je hier: http://www-306.ibm.com/software/globalization/icu/index.jsp

Als je slim bent... en dat denk ik wel want je gebruikt Ubuntu :D dan check je even in de repos of daar misschien iets van ICU staat want ik meen dat dit niet een end-user package is maargoed... voor compilen zal je denk ik ook geen end-user package maar een developer package nodig hebben. Kijk dus maar wat je precies nodig hebt. Hopelijk is dit een duwtje in de goede richting.

Offline muksie

  • Lid
wine incompatible libz op amd64
« Reactie #9 Gepost op: 2006/06/29, 19:40:35 »
Ik vond op ubuntuforums.org een draadje over het installeren van de i386 debian package van wine op x86_64. Ik heb deze nu geinstalleerd met --force-architecture en moest daarna nog even de stappen doen die beschreven staan in de 2e post op  deze pagina. Nu doet wine het (tot nu toe iig) perfect. Ik heb IE al draaien (nodig om een site geschikt te maken voor IE).

Azalin

  • Gast
wine incompatible libz op amd64
« Reactie #10 Gepost op: 2006/06/29, 20:21:47 »
OK dan... nou mooi dat het wel gelukt is... :)