Wine needs multiarch support

Bug #889778 reported by Michal Suchanek on 2011-11-13
52
This bug affects 10 people
Affects Status Importance Assigned to Milestone
wine1.3 (Ubuntu)
High
Scott Ritchie

Bug Description

# apt-get install wine1.3:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libxt6 : Depends: libice6 (>= 1:1.0.0) but it is not going to be installed
          Depends: libsm6 but it is not going to be installed
 wine1.3:i386 : Depends: procps:i386 but it is not going to be installed
                Depends: libgettextpo0:i386
                Depends: libgphoto2-2:i386 (>= 2.4.10.1) but it is not going to be installed
                Depends: libgphoto2-port0:i386 (>= 2.4.10.1) but it is not going to be installed
                Depends: libgstreamer-plugins-base0.10-0:i386 (>= 0.10.22) but it is not going to be installed
                Depends: libgstreamer0.10-0:i386 (>= 0.10.26) but it is not going to be installed
                Depends: libopenal1:i386 but it is not going to be installed
                Depends: libxml2:i386 (>= 2.7.4) but it is not going to be installed

Obviously, some of these libs (certainly libxml2, libgstreamer and libgphoto2) aren't multiarch.

wine1.3 should be just a dummy depending on wine1.3:i386 on amd64 to squish all the lib issues once for good but it can't until all its dependencies are multiarch.

The package needs more work than that. Multiarch allows us to get dual 32/64 bit support finally working on Precise. Multiarching the dependencies is of course the first step, but afterwards the package will need some special splitting to get this working, see: http://wiki.winehq.org/Wine64ForPackagers

summary: - wine:i386 cannot be installed
+ Needs multiarch support
Changed in wine1.3 (Ubuntu):
assignee: nobody → Scott Ritchie (scottritchie)
importance: Undecided → High
status: New → Triaged
summary: - Needs multiarch support
+ Wine needs multiarch support
Michal Suchanek (hramrach) wrote :

I would be totally satisfied with installable and working wine:i386.

I understand that to run 64bit windows applications wine has to be itself a baroque multiarch package but that's yet another step.

Christopher (soft-kristal) wrote :

Got multiarch installed but lost Wine, brassero and a few other things in PP, AMD64. No worries: lots of time to fix bugs before I use it for anything else but testing.

Christopher (soft-kristal) wrote :

Brasero installed without complaint, but reinstalling wine means removing ubuntu-desktop, so wine will stay in the repository for now.

Pali (pali) wrote :

Wine with multiarch support is in this PPA: https://launchpad.net/~alexandre-montplaisir/+archive/winepulse

Michal Suchanek (hramrach) wrote :

some more dependencies of Wine multiarched:

adduser gpm libexif gd2 gphoto2 libgsm libtool libusb libxslt sane-backends

https://launchpad.net/~hramrach/+archive/ppa

untested

Michal Suchanek (hramrach) wrote :

remaining utterly broken packages: unixodbc, gstreamer

Michal Suchanek (hramrach) wrote :

For turning Wine multiarch I don't see a maintainable option.

The best I could think of is

1) build on i386

While building run a script that lists all build dependencies of wine (eg mk-build-deps), lists all library symlinks those contain, picks the ones in multiarch directories (as determined by the dirname containing the multiarch path component), and builds a multiarch foreign package like wine-build that contains the symlinks and depends on the packages these symlinks point to.

Here either transitive dependencies should be handled or wine should explicitly depend on anything it links to, even indirectly by pulling dependecies through pgkconfig or so.

2) build on amd64 and depend on the wine-build package built on i386

Separate all 32bit libraries into a package of its own like wine32 and make that package 32bit so that it can depend on 32bit libraries. make wine depend on wine32 and the othe way around on 64bit because the split does likely not produce working parts.

I tried to make a wine-build package by hand but the problem is that without splitting the 32bit parts of wine into a separate package the shlib dependencies won't work.

Scott Ritchie (scottritchie) wrote :

This has been fixed in Precise for a while, in the wine1.4 package.

Changed in wine1.3 (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related blueprints