for the devels having upgraded their boxes to ubuntu 12.04, here's a couple of stuff I had to do, especially to get 32bit wine compile This could be useful if you want to have a dual x86_64 : i386 setup
this is an updated version to what I already sent to scott ritchie of course this is not a step by step installation, just hints if you want to take that road
(version #3)
(I'm using a multiarch x86_64/i386) now wine compiles and runs in 32bit while compiled on 64bit machine here's the summary of the pain getting it right after upgrade
in response to https://bugs.launchpad.net/ubuntu/+source/wine1.4/+bug/944321 I was able to compile 32bit-wine on 64bit as I always, and without a chroot or anything similar
Problem #1 ---------- an old (11.10 according to the dates) directory was left over after migration, whereas it should have been removed /usr/include/i386-linux-gnu
Problem #2 ---------- a ton of symlinks are missing in /usr/lib/i386-linux-gnu
for example [root:/usr/lib/i386-linux-gnu]# ls -l /usr/lib/i386-linux-gnu/libfree* lrwxrwxrwx 1 root root 20 avril 3 10:54 /usr/lib/i386-linux-gnu/libfreetype.so.6 -> libfreetype.so.6.8.0 -rw-r--r-- 1 root root 624084 avril 3 10:54 /usr/lib/i386-linux-gnu/libfreetype.so.6.8.0
and it misses lrwxrwxrwx 1 root root 16 avril 28 21:30 /usr/lib/i386-linux-gnu/libfreetype.so -> libfreetype.so.6
the same applies for a lot libraries libXcursor.so libXi.so libXxf86vm.so libxrandr.so libxinerama.so libxcomposite.so libGLU.so libdbus-1.so (libdbus-1.so lies in /lib/i386-linux-gnu, not /usr/lib/i386-linux-gnu) libgnutls.so libsane.so libv4l1.so libgphoto2.so libgphoto2_port.so libgstreamer-0.10.so (***) libcapi20.so libcups.so libfontconfig.so libtiff.so libmpg123.so libopenal.so libxrender.so libGL.so (libGL.so is in mesa subdir!!!) libxml2.so libxslt.so libssl.so libcrypto.so libjpeg.so (***) libpng.so.0 (libpng12.so.0 lies in /lib/i386-linux-gnu, not /usr/lib/i386-linux-gnu) libXext.so
the ones marked (***) means that the symlink is missing but it doesn't solve fully the issue from a wine perspective (see below)
Problem #3 (jpeg) -----------------
Fails to open<jconfig.h>. which only lies in /usr/include/x86_64-linux-gnu/jconfig.h, and couldn't be accessed from 32bit build
Creating the /usr/include/i386-linux-gnu/ directory and creating a symlink for jconfig.h to /usr/include/x86_64-linux-gnu/jconfig.h just works (I checked the contents of jconfig.h and it looks reasonable to do so)
Problem #4 (gstreamer) ----------------------
it doesn't work as only /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h is installed (/usr/lib/i386-linux-gnu/glib-2.0/include/glibconfig.h doesn't exist, dpkg -S doesn't find it) and /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h defines gint64 as long, which is correct on 64bit targets one wrong on 32 bit ones...
one should craft a decent /usr/lib/i386-linux-gnu/glib-2.0/include/glibconfig.h, or grab one out of pure i386 install
(I haven't had time to look further into those, my main interest was to have a 32bit setup up& running)
List of potentially installed i386 packages ------------------------------------------- fixed by installing i386 packages (not exhaustive, unfortunately, as I didn't note all the :i386 packages I've manually installed) libldap2.so
alternatively, if I do a [eric:~]$ dpkg -l | grep i386 | grep -- -dev ii libc6-dev-i386 2.15-0ubuntu10 Embedded GNU C Library: 32-bit development libraries for AMD64 ii libldap2-dev:i386 2.4.28-1.1ubuntu4 OpenLDAP development libraries ii libpthread-stubs0-dev:i386 0.3-3 pthread stubs not provided by native libc, development files ii libx11-dev:i386 2.1.4.99.1-0ubuntu2 X11 client-side library (development headers) ii libxau-dev:i386 1:1.0.6-4 X11 authorisation library (development headers) ii libxcb1-dev:i386 1.8.1-1 X C Binding, development files ii libxdmcp-dev:i386 1:1.1.0-4 X11 authorisation library (development headers)
tends to ask for libc6-dev:i386, libldap2-dev:i386, libx11-dev:i386, libxau-dev:i386, libxcb1-dev:i386, libxdmcp-dev:i386 as dedicated installations of dev:i386 packages
but strangely enough, when looking at details, libx11-dev (for example) cannot be installed with libx11-dev:i386 according to manifest, but I have both installed (and both install the same files in /usr/include for example) this looks very strange indeed
List of stuff that won't work ----------------------------- won't be supported (just to note them, as those are the left overs from the configure failing list) compiled without multiarch support: libhal, libgsm
Warning at compilation ---------------------- when compiling, some warnings still have to be worked upon /home/eric/work/wine/dlls/winex11.drv/keyboard.c:1109:5: warning: 'XKeycodeToKeysym' is deprecated (declared at /usr/include/X11/Xlib.h:1695) [-Wdeprecated-declarations] this one can be forgotten for now (it's just being marked deprecated in precise, so warning doesn't come from misconfiguration)
debugging (32bit and 64bit) is broken ------------------------------------- the debugging is broken it turns out that ptrace and prctl (which had to be added in 11.10) work fine when tracing, only the first started process get correct pid out of wineserver in socket SCM_CREDENTIALS info. the later get 0 I tried to force the pid without requiring the recvmsg stuff and it works just fine I've not found yet the change that broke this
more to come if get any futher on the remaining topics
A+