Hello, Is it possible to compile 32bit wine in 64bit ubuntu 12.10? I heard there were problems in 12.04 - were they resolved?
Regards, Daniel
Is it possible to compile 32bit wine in 64bit ubuntu 12.10? I heard there were problems in 12.04 - were they resolved?
I've been happily building 32-bit wine on 64-bit ubuntu 12.04. I just had to make a debootstrap chroot:
https://help.ubuntu.com/community/DebootstrapChroot/
It only takes a few minutes to setup, given a fast internet connections.
No idea whether the multiarch conversion has progressed to where this is no longer necessary.
Joey
On Wed, Oct 17, 2012 at 11:21 PM, Joey Yandle dragon@dancingdragon.be wrote:
I've been happily building 32-bit wine on 64-bit ubuntu 12.04. I just had to make a debootstrap chroot:
The Wine Wiki page on this has a nice How-to http://wiki.winehq.org/WineOn64bit
It only takes a few minutes to setup, given a fast internet connections.
No idea whether the multiarch conversion has progressed to where this is no longer necessary.
Still needed. I just tested it again on 12.10 - many 32bit build dependencies conflict with many 64bit packages (and some of those are dependencies of packages unrelated to Wine...) Thus, building it without a chroot in a "clean" way is not yet possible. Also, building with both sane and tiff support is problematic: libsane-dev wants libtiff5-dev, which conflicts with libtiff4-dev (the one that wine wants)
I just upgraded to 12.04, until they fix the "32-bit headers problem" you'll have to manually create the symbolic links for the "-dev" package behavior: ---- cd /usr/lib/i386-linux-gnu sudo ln -s libfreetype.so.6 libfreetype.so sudo ln -s libXau.so.6 libXau.so sudo ln -s libXcursor.so.1 libXcursor.so sudo ln -s libXi.so.6 libXi.so sudo ln -s libXext.so.6 libXext.so sudo ln -s libXxf86vm.so.1 libXxf86vm.so sudo ln -s libXrandr.so.2 libXrandr.so sudo ln -s libXrender.so.1 libXrender.so sudo ln -s libXinerama.so.1 libXinerama.so sudo ln -s libXcomposite.so.1 libXcomposite.so sudo ln -s libGLU.so.1 libGLU.so sudo ln -s libOSMesa.so.6 libOSMesa.so sudo ln -s libgnutls.so.26 libgnutls.so sudo ln -s libsane.so.1 libsane.so sudo ln -s libv4l1.so.0 libv4l1.so sudo ln -s libv4l2.so.0 libv4l2.so sudo ln -s liblcms.so.1 liblcms.so sudo ln -s libcapi20.so.3 libcapi20.so sudo ln -s libcups.so.2 libcups.so sudo ln -s libfontconfig.so.1 libfontconfig.so sudo ln -s libtiff.so.4 libtiff.so sudo ln -s libmpg123.so.0 libmpg123.so sudo ln -s libodbc.so.1 libodbc.so sudo ln -s libopenal.so.1 libopenal.so sudo ln -s libldap-2.4.so.2 libldap.so sudo ln -s libldap_r-2.4.so.2 libldap_r.so sudo ln -s liblber-2.4.so.2 liblber.so sudo ln -s libxml2.so.2 libxml2.so sudo ln -s libxslt.so.1 libxslt.so sudo ln -s libssl.so.0.9.8 libssl.so sudo ln -s libcrypto.so.0.9.8 libcrypto.so sudo ln -s libjpeg.so.8 libjpeg.so sudo ln -s mesa/libGL.so libGL.so cd /usr/lib/i386-linux-gnu/mesa sudo ln -s libGL.so.1 libGL.so cd /lib/i386-linux-gnu sudo ln -s libdbus-1.so.3 libdbus-1.so sudo ln -s libpng12.so.0 libpng.so ----
It is important to note that all the above assumes that you have all the packages you need loaded in ":i386" form. I have not included packages that won't coinstall on amd64 or haven't gotten to work (libhal, libgsm, gstreamer, libgphoto2). If your setup is anything like mine then you'll only need to add a couple more packages: sudo apt-get install libosmesa6:i386 libosmesa-dev libjpeg-turbo8-dev:i386
It's possible that I'm missing a few links, but I've tested the above configuration and it compiles and works for the few things I've opened so far (Firefox, Borderlands, and Diablo III).
Erich
PS: You may need to work around Bug #30410 (http://bugs.winehq.org/show_bug.cgi?id=30410), without that fix I couldn't play Borderlands.
PPS: To get rid of an annoying gnome-keyring message I had to resort to using getlibs (since gnome-keyring is not multi-arch): wget https://launchpad.net/~jcollins/+archive/jaminppa/+build/1482994/+files/getl... sudo dpkg -i getlibs_2.06-0ubuntu1~ppa2_all.deb getlibs -p gnome-keyring:i386 sudo mkdir /usr/lib/i386-linux-gnu/pkcs11; sudo ln -s /usr/lib32/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so
On Wed, Oct 17, 2012 at 2:21 PM, Joey Yandle dragon@dancingdragon.be wrote:
Is it possible to compile 32bit wine in 64bit ubuntu 12.10? I heard there were problems in 12.04 - were they resolved?
I've been happily building 32-bit wine on 64-bit ubuntu 12.04. I just had to make a debootstrap chroot:
https://help.ubuntu.com/community/DebootstrapChroot/
It only takes a few minutes to setup, given a fast internet connections.
No idea whether the multiarch conversion has progressed to where this is no longer necessary.
Joey
On Thu, Oct 18, 2012 at 5:25 AM, Erich E. Hoover ehoover@mymail.mines.edu wrote:
I just upgraded to 12.04, until they fix the "32-bit headers problem" you'll have to manually create the symbolic links for the "-dev" package behavior:
cd /usr/lib/i386-linux-gnu sudo ln -s libfreetype.so.6 libfreetype.so sudo ln -s libXau.so.6 libXau.so sudo ln -s libXcursor.so.1 libXcursor.so sudo ln -s libXi.so.6 libXi.so sudo ln -s libXext.so.6 libXext.so sudo ln -s libXxf86vm.so.1 libXxf86vm.so sudo ln -s libXrandr.so.2 libXrandr.so sudo ln -s libXrender.so.1 libXrender.so sudo ln -s libXinerama.so.1 libXinerama.so sudo ln -s libXcomposite.so.1 libXcomposite.so sudo ln -s libGLU.so.1 libGLU.so sudo ln -s libOSMesa.so.6 libOSMesa.so sudo ln -s libgnutls.so.26 libgnutls.so sudo ln -s libsane.so.1 libsane.so sudo ln -s libv4l1.so.0 libv4l1.so sudo ln -s libv4l2.so.0 libv4l2.so sudo ln -s liblcms.so.1 liblcms.so sudo ln -s libcapi20.so.3 libcapi20.so sudo ln -s libcups.so.2 libcups.so sudo ln -s libfontconfig.so.1 libfontconfig.so sudo ln -s libtiff.so.4 libtiff.so sudo ln -s libmpg123.so.0 libmpg123.so sudo ln -s libodbc.so.1 libodbc.so sudo ln -s libopenal.so.1 libopenal.so sudo ln -s libldap-2.4.so.2 libldap.so sudo ln -s libldap_r-2.4.so.2 libldap_r.so sudo ln -s liblber-2.4.so.2 liblber.so sudo ln -s libxml2.so.2 libxml2.so sudo ln -s libxslt.so.1 libxslt.so sudo ln -s libssl.so.0.9.8 libssl.so sudo ln -s libcrypto.so.0.9.8 libcrypto.so sudo ln -s libjpeg.so.8 libjpeg.so sudo ln -s mesa/libGL.so libGL.so cd /usr/lib/i386-linux-gnu/mesa sudo ln -s libGL.so.1 libGL.so cd /lib/i386-linux-gnu sudo ln -s libdbus-1.so.3 libdbus-1.so sudo ln -s libpng12.so.0 libpng.so
It is important to note that all the above assumes that you have all the packages you need loaded in ":i386" form. I have not included packages that won't coinstall on amd64 or haven't gotten to work (libhal, libgsm, gstreamer, libgphoto2). If your setup is anything like mine then you'll only need to add a couple more packages: sudo apt-get install libosmesa6:i386 libosmesa-dev libjpeg-turbo8-dev:i386
The situation must be different on 12.04, because I am looking at that link list and see libs from many packages that I know won't co-install on 12.10 (at least for me).
On Thu, Oct 18, 2012 at 2:55 AM, Gediminas Jakutis gediminas@varciai.lt wrote:
... The situation must be different on 12.04, because I am looking at that link list and see libs from many packages that I know won't co-install on 12.10 (at least for me).
The non-dev package _should_ be able to coinstall, the -dev packages won't. You could also resort to getlibs, though that's not a great solution.
Erich
Thanks for all of your answers. Playing with wine in 11.10 is becoming near impossible because of the infamous xcb bug. I'd rather not mess with files outside /home, so I guess I'll be checking how well x86+PAE works.
On Thu, Oct 18, 2012 at 1:05 PM, Daniel Jelinski djelinski1@gmail.com wrote:
Thanks for all of your answers. Playing with wine in 11.10 is becoming near impossible because of the infamous xcb bug. I'd rather not mess with files outside /home, so I guess I'll be checking how well x86+PAE works.
The XCB bug should be fixed in the latest package, I worked really hard to get that out before today...
Erich
On Wed, 17 Oct 2012, Erich E. Hoover wrote:
I just upgraded to 12.04, until they fix the "32-bit headers problem" you'll have to manually create the symbolic links for the "-dev" package behavior:
I ran into pretty much the same set of problems with Wine on Debian Testing. However some development packages are already multiarch-compatible so I installed them and created a bit fewer symbolic links than you. In particular I was able to install the following i386 development packages:
libasound2-dev:i386 libcapi20-dev:i386 libjpeg8-dev:i386 liblcms1-dev:i386 libldap2-dev:i386 libmpg123-dev:i386 libopenal-dev:i386 libtinfo-dev:i386 (needed for ncurses) libv4l-dev:i386 libx11-dev:i386 libxau-dev:i386 libxcb1-dev:i386 libxinerama-dev:i386 libxml2-dev:i386 libxrender-dev:i386 zlib1g-dev:i386
I also made a list of the packages that need to be fixed in order for work on Wine to be possible without so much complication, and made sure we have bugs to track the status of each of them. I am sure the maintainers would appreciate some help so here are the multiarch fixes needed for Wine development:
* These all seem to be fixable trivially. Double-check and submit a patch? The Debian freeze might block your efforts though :-( libfontconfig1-dev - #677885 libgl1-mesa-dev - #678040, #689088 libglu1-mesa-dev - #678040, #689089 libgnutls-dev - #678070 libosmesa6-dev - #678040 libxcomposite-dev - #689082 libxfixes-dev - #677657 libxrandr-dev - #678895 libxvmc1 - #640499 (well the work seems to have been done in any case) libxxf86vm-dev - #678898
* These have yet to be analyzed to figure out if there are obstacles or not. libcups2-dev - #689084 libgphoto2-2-dev - #689083 libgstreamer0.10-dev - #689090 libnss-mdns - #686984 libpng12-dev - #689092, #673642 libsane-dev - #689073, #672495 libxi-dev - #689068
* The freetype-config tool is the point of contention. libfreetype6-dev - #666761
* The point of contention here is xslt-config. This is probably somewhat similar to the freetype-config issue. libxslt1-dev - #689091
* These have platform-dependent headers which makes fixing much harder. Either the headers can be made platform-independent upstream (assuming it even makes sense), or it will have to wait for the build toolchain to be updated: https://wiki.ubuntu.com/MultiarchSpec#Co-installable_-dev_packages
libdbus-1-dev - #689071 libncurses5-dev / libncursesw5-dev - #689131, #646761, #646977 libssl-dev - #689093, #638137 libtiff4-dev - #689085
* The maintainer says that any application that still uses HAL is buggy and that he will not fix this package :-( libhal1, libhal1-dev - #638839
* Broken by other packages. See above. libxcursor-dev - broken by libxfixes-dev libgl1-nvidia-glx - broken by libxvmc1
* These are not needed by Wine but I need them to compile other stuff so I'm including them here. For most of these the GObject introspection data causes trouble. libatk1.0-dev - #689124 (to be checked) libcairo2-dev - #689122 (to be checked) libgdk-pixbuf2.0-dev - #689125 (introspection) libglib2.0-dev - #683593 (likely introspection) libgtk2.0-dev - #689097 (introspection) libpango1.0-dev - #683592 (trivial)
Here are some references for anyone not yet familiar with multiarch on Debian:
* Multiarch HOWTO for users http://wiki.debian.org/Multiarch/HOWTO
* Multiarch package manager specification https://wiki.ubuntu.com/MultiarchSpec
* All the links http://wiki.debian.org/Multiarch
2012/11/12 Francois Gouget fgouget@free.fr
On Wed, 17 Oct 2012, Erich E. Hoover wrote:
I just upgraded to 12.04, until they fix the "32-bit headers problem" you'll have to manually create the symbolic links for the "-dev" package behavior:
I ran into pretty much the same set of problems with Wine on Debian Testing. However some development packages are already multiarch-compatible so I installed them and created a bit fewer symbolic links than you. In particular I was able to install the following i386 development packages:
libasound2-dev:i386 libcapi20-dev:i386 libjpeg8-dev:i386 liblcms1-dev:i386 libldap2-dev:i386 libmpg123-dev:i386 libopenal-dev:i386 libtinfo-dev:i386 (needed for ncurses) libv4l-dev:i386 libx11-dev:i386 libxau-dev:i386 libxcb1-dev:i386 libxinerama-dev:i386 libxml2-dev:i386 libxrender-dev:i386 zlib1g-dev:i386
I also made a list of the packages that need to be fixed in order for work on Wine to be possible without so much complication, and made sure we have bugs to track the status of each of them. I am sure the maintainers would appreciate some help so here are the multiarch fixes needed for Wine development:
- These all seem to be fixable trivially. Double-check and submit a patch? The Debian freeze might block your efforts though :-( libfontconfig1-dev - #677885 libgl1-mesa-dev - #678040, #689088 libglu1-mesa-dev - #678040, #689089 libgnutls-dev - #678070 libosmesa6-dev - #678040 libxcomposite-dev - #689082 libxfixes-dev - #677657 libxrandr-dev - #678895 libxvmc1 - #640499 (well the work seems to have been done in any case) libxxf86vm-dev - #678898
Hi François,
#677885, #678040, #678070, #678895 and #678898 already contains trivial patches, I did check packages on every offered architectures to see if file differs, I can recheck if necessary. I can also check #677657 to see if things has changed since bug report and provide a patch if needed.
libgl1-nvidia-glx doesn't depend on libxvmc1 so it should be a problem anymore (at least if you use nvidia packages from unstable).
Unfortunately I didn't have much time to spend on not so trivial packages and Debian freeze doesn't really help accepting patches, even if multiarch is a release goal ...
On Mon, 12 Nov 2012, Nicolas Le Cam wrote: [...]
#677885, #678040, #678070, #678895 and #678898 already contains trivial patches, I did check packages on every offered architectures to see if file differs, I can recheck if necessary.
Yes. It's thanks to your work either checking that there's no issue or even providing patches that these are on the trivial list.
I can also check #677657 to see if things has changed since bug report and provide a patch if needed.
The libfixes-dev in Testing had not improved as of a few days ago.
On Mon, 12 Nov 2012, Francois Gouget wrote: [...]
libtiff4-dev - #689085
I got bad news on this one: the maintainer has closed it as wontfix.
The rational is that he does not have time to do it and does not want to deviate from upstream. So if upstream does not fix it or a patch is not provided, he won't fix it either. The header causing trouble is tiffconf.h(*) which upstream appears to already be aware of but has not taken action with the libtiff4 major release.
For more details: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=689085
(*) This is the equivalent to Wine's config.h file!