State of multilib development

Dennis Gilmore dennis at ausil.us
Mon Oct 16 13:45:57 UTC 2006


On Monday 16 October 2006 03:04, Hans de Goede wrote:
> Hi all,
>
> Yesterday I tried to build i386 rpms on my x86_64 using the new
> multilib-devel packages instead of resorting to an i386 chroot.
>
> Although we have come a long way to making this possible there are still
> a few issues which makes doing this very hard:
>
> 1) gcc ignores setarch
> ======================
>
> "gcc -o hello helloworld.c", creates an x86_64 elf file on my x86_64
> system as expected however, "setarch i386 gcc -o hello helloworld.c"
> also creates an x86_64 elf file instead of an i386 one, to get an i386
> one I must do: "gcc -m32 -o hello helloworld.c".
>
> This is unfortunate, because even though rpmbuild adds -m32 to the
> *FLAGS environment variables things still don't for many packages,
> because they for example often ignore LDFLAGS, thus not specifying -m32
> when linking, causing things to fail.
Make sure  you do not have a /etc/rpm/platform file if you intend to build 
i386 on x86_64   it will mess some things up.

>
> 2) rpmbuild ignores setarch
> ===========================
>
> "setarch i386 rpmbuild -bb foo.spec" Still tries to build an x86_64 foo,
> I know "rpmbuild --target i386" works better but still has issues, for
> example libdir is still set to /usr/lib64, this is already in bugzilla.
>
> I however still believe that rpmbuild should change its default build
> target when using setarch and should call setarch itself when called
> with --target, shall I BZ this?
Again due to /etc/rpm/platform  

> 3) pkgconfig ignores setarch
> ============================
> I thought that pkgconfig was supposed to get this right and hence it was
> used to implement verious replacement foo-config scripts, but pkgconfig
> doesn't get this right. When testing I had only libpng-devel.i386
> installed not the x86_64 version:

>
> Shall I BZ this?
Sure

>
> 4) rpmbuild lets x86_64 packages satisfy BR's when building for i386
> ====================================================================
>
> The subject says most of it, when doing an rpmbuild --target=i386 I
> don't want libXt-devel.x86_64 to satisfy a BR: libXt-devel .
>
> I know things aren't that easy because with something like BR:
> desktop-file-utils, the x86_64 version will do fine.
>
> Suggestion: make rpmbuild check the arch of BR's who's name ends with
> -devel.
>
> This will still have a few exceptions, but will be a big improvement in
> general. BZ?
again due to /etc/rpm/platform   it overrides some of rpms logic  and it 
thinks its building x86_64  always

>
> 5) xxx-devel.arch should require xxx.arch not just xxx
> ======================================================
>
> When I install libXt-devel.i386 I expect it to drag in libXt.i386 and
> not to be happy with the already installed libXt.x86_64 .
>
possibly due to the same issue.

Dennis




More information about the fedora-devel-list mailing list