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 -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list