[arch-multilib] Addition of jack2-multilib and multilib push perms

Ray Rashif schiv at archlinux.org
Wed Dec 7 09:08:52 EST 2011

On 7 December 2011 17:13, Thomas Bächler <thomas at archlinux.org> wrote:
> I still don't understand why you can't just build a lib32 package that
> doesn't conflict with the usual jack/jack2 package.

Sorry, I should've made that clear from the beginning. It is possible,
but it is (a) non-trivial and (b) a hassle to maintain. There is no
way to build out a 32-bit library without patching your way through
the buildsystem [1] _and_ patching the existing pure 32-bit and 64-bit
'jack2' package to make way for a -lib32 one [2] (credits go to user
'speps' for demonstrating this).

Now, I'm pretty sure you would think that's a PITA, as I had thought,
deciding on a replacement package instead (yes, a lib32 package was
the obvious initial idea). The users also told me they would prefer a
lib32 package, so it's not like I ignored that. Basically, upstream
here gives you the necessary method to keep a hybrid build of their
software, but does not modularise the process thinking they'd save us
distributors the trouble.

> Also, there is no provides on jack2, why?

As you can see, the second of the splits has this provision, so that's
probably an accident from the last edit I made on the PKGBUILD.

> But the most important thing: There is no makedepend on gcc-multilib or
> any other of the multilib build tools. How could this build a 32 bit binary?

There is no need to makedepend on 'gcc-multilib' as it should already
be there in a multilib system, sort of analogous to the 'base-devel'
group for normal systems. I had 'gcc-libs-multilib' initially (due to
namcap's report), but upon noticing that a chroot build only requires
'lib32-glibc', and after a user tested the package to be working for
his hybrid purpose, I removed the unnecessary dependency. The 32-bit
library is there at the end of the day:

$ file usr/lib32/libjack.so.0.1.0
usr/lib32/libjack.so.0.1.0: ELF 32-bit LSB shared object, Intel 80386,
version 1 (SYSV), dynamically linked,
BuildID[sha1]=0x144cf0bc3289dcb0dc105783b32feeddc2fe570a, stripped

And this is what the "--mixed" flag does, essentially:

conf.env.append_unique('CXXFLAGS', '-m32')
        conf.env.append_unique('CCFLAGS', '-m32')
        conf.env.append_unique('LINKFLAGS', '-m32')

Let me know if there's anything else that needs to be done to make
this compatible with [multilib].

[1] http://paste.pocoo.org/show/517495/
[2] http://paste.pocoo.org/show/517488/


More information about the arch-multilib mailing list