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

speps speps at gmx.com
Wed Dec 7 19:44:35 EST 2011

On Wed, 07 Dec 2011 15:37:09 +0100
Thomas Bächler <thomas at archlinux.org> wrote:

> Still another idea to think about: What about going through the whole
> build process including --mixed, but then only packaging the 32 bit
> libraries? Will that work as well?

In short, nope as you intend it.

I try to make clarifications on this point:

The jack2 build system (based on waf) come out with a --mixed flag that
does not just build the 32 bit library, but a multilib capable server too.

In particular the --mixed flag adds a -DJACK_32_64 macro that enables
the preprocessor in posix/JackCompilerDeps_os.h at #37:

#define POST_PACKED_STRUCTURE __attribute__((__packed__))

This ensures that structures have the same size on all processors, in the
way a 32 bit jack client can correctly communicate with a 64 bit server.

When it was discussed on #archaudio @ freenode.net, 3 solutions come out:

1. jack2:          leave as it is now
   jack2-multilib: build with --mixed, provides and conflicts with
                   jack2 and lib32-jack2

2. jack2:          build with --mixed for x86_64 ([ "$CARCH" = 'x86_64' ])
                   removing the generated 32 bit lib from the final package
   lib32-jack2:    build with --mixed, removing all but the 32 bit lib

3. jack2:          build with a patch that just adds the -DJACK_32_64
                   macro in the build process without building the 32 bit lib
   lib32-jack2:    build with a patch the builds just the 32 bit lib

About Pros and Cons:

1. Pros: proposed by Ray as it is the most simple to maintain,
         and the one that upstream suggests
   Cons: jack2 server is built twice

2. Pros: lib32-jack2 contains just the 32 bit lib
   Cons: jack2 builds the 32 bit lib and then deletes it,
         lib32-jack2 builds the jack server and deletes it, loss of time

3. Pros: jack2 builds and provides a 32 bit capable jack server for x86_64
         lib32-jack2 builds and provides just the 32 bit lib
   Cons: harder to maintain since the build system needs to be patched

Since Ray is the actual maintainer and solutions graves more on maintaining,
he's the only one who should make the choice.

The patches I wrote for the third solution would be more harder to adapt for
him, on an eventual future massive change in the build system.

Also, technically, a not --mixed server differs from a --mixed one for the
POST_PACKED_STRUCTURE definition, even if it seems to not comport any
difference on functionality nor stability.

I hope I made myself clear,

- speps -
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://mailman.archlinux.org/pipermail/arch-multilib/attachments/20111208/01ede44d/attachment.asc>

More information about the arch-multilib mailing list