Ubuntu 12.04 (version#2, drop previous mail)

Scott Ritchie scott at open-vote.org
Mon Apr 30 22:58:42 CDT 2012

On 4/30/12 1:37 AM, Eric Pouech wrote:
>> This is because you _cannot_ install the 32-bit -dev packages onto
>> 12.04.  It's not just symlinks that are missing, many of the header
>> files are different between the arches.
> I'm not sure this is a generic rule, and if it were, then exclusion
> between i386 and x86_64 should be defined on most dev packages, and
> it's not the case
> also note, that in some cases, arch specific headers are moved to arch
> dependent directories (e.g. jpeg, glib...), which should also parallel
> install of multi-arch libs
> in any case, the job by ubuntu folks in 12.04 done is crappy, to say the least

Some context would help here:

In previous Ubuntus we ran into quite a few bugs (eg Wine's mpeg123 
issues) that occurred because we used a "64-bit header file" with a 
32-bit library and .so symlink.  This in turn was because the package 
manager did not have a concept of foreign-architectures -- 32-bit 
support on Ubuntu64 was done by installing a giant omni-package called 
ia32-libs that contained every library that might ever be useful (plus 
some .so links).

Things are _much_ better in 12.04.  Wine can actually be built and 
installed biarch as a user package!  Ubuntu users are, for the first 
time, actually using 64-bit Wine when possible because the package 
manager understands multiarch and, more importantly, because the 
underlying libraries are coinstallable with themselves.

This was not done for the -dev packages yet due to lack of time -- 
getting the actual libraries in users hands so programs like Wine can 
work was much more important.  So some foo-dev:i386 will install, but 
will erase foo-dev:amd64.

This is the downside people in this thread are complaining about: 
compiling 32-bit programs on a 64-bit Ubuntu install is now slightly 
more difficult.  However, Wine is currently the _only_ piece of software 
I've encountered that needs to be built for both arches on the same 
machine in order to be usable.  We are beautiful special snowflakes 
here: Wine developers who aren't using the build daemons is about the 
extent of the current use case.

>> Just do the chroot.  You will save yourself so much grief and it will
>> actually work.
> if the ubuntu folks keep this state of mind, then they'll continue to sink
> the best solution is then to pick up another distro
> A+

I'm beginning to have memories of what happened when we removed gcc from 
the default install.  Setting up a 32-bit chroot for building Wine 
should not be complicated -- I'll present a script to make it even 
easier soon.  You can build in a single command and even use things like 
ccache and the like to speed it up.

Scott Ritchie

More information about the wine-devel mailing list