19 juli 2005

Shockwave

Weer door broederlief op het spoor gebracht van een Linux-wide probleem: Macromedia bouwt geen Shockwave spelers voor Linux en natuurlijk is dat niet opensource EN niet reverse geëngineerd. Normaal gesproken dus einde oefening, tenzij je het durft te wagen over te gaan op gebruik van Wine of Crossover Office. Ik ga de uitdaging van de eerste maar eens aan (CO beviel me niet zo enorm).

Eerst even wine repositories aan sources.list toevoegen; deb http://wine.sourceforge.net/apt/ binary/ en deb-src http://wine.sourceforge.net/apt/ source/. Maar alas, d'r is natuurlijk weer eens geen amd64 binary dus gaan we de path of the deb-src weer betreden.

$ sudo apt-get source wine

Even in de juiste directory gooien en dan de dependencies ophalen met

$ sudo apt-get build-dep wine

Hierbij wel even opgepast: er worden een aantal "Mesa" pakketten afgegooid. Deze hebben te maken met 3D acceleratie en hoewel ze wel worden vervangen door andere pakketten met dezelfde functionaliteit (lijkt me tenminste), kan het natuurlijk voor problemen zorgen. Het is trouwens ook wel een extra schijfvulling van 80MB (uitgepakt, er moet ca. 30MB worden gedownload) dus hou daar ook rekening mee.

Vervolgens naar de map die gedownload is cd'en (wine-blabla) en de boel in mekaar zetten:

$ sudo dpkg-buildpackage

In het begin kreeg ik echter de error checking for C compiler default output file name... configure: error: C compiler cannot create executables. Deze bleek na een korte Google op te lossen met

$ export CC=gcc

Bij de volgende compile ging het echter nog erger mis;

{standard input}: Assembler messages: {standard input}:283: Error: `12(%esp)' is not a valid 64 bit base/index expression

En zoals die laatste nog een stuk of 20. Dat komt dus niet goed op een 64 bit systeem, daar blijkt ie nog niet compileerbaar. Naar verluidt moet het ook mogelijk zijn het in 32 bit te compileren en vervolgens met een bultje 32bits libraries zelfs te draaien, maar dat gaat me eigenlijk net iets te ver. To be continued... maar dan op de ouderlijke bak (32 bit dus) waar sowieso het probleem van de Shockwave benodigdheid ontstond (ik hoef het zelf eigenlijk niet zo dringend te hebben, maar ja, toch ff proberen he).