On Mon, 2006-09-18 at 09:56 +0100, David Woodhouse wrote: > On Mon, 2006-09-18 at 10:23 +0200, Ralf Corsepius wrote: > > > > Few packages do support mixed native/cross compilation and even less do > > > > support multi-target configurations. > > > > > > > > > Packages in _general_ won't cross-compile. > > > > Yes, because many packagers don't test it and because rpm doesn't > > > > support it. > > > > > > I've spent a lot of time attempting to cross-build the distribution. > > > RPM actually handles it just fine -- the problems were mostly caused by > > > the (possibly incorrect) use of autotools in the package itself. > > > > Well, this is NOT my experience. > > > > RPM doesn't even get the target/host/build-tuple right for native noarch > > building. > > You mean in %configure? Yes. > I don't recall it screwing that up, but again I > haven't tried this recently. If it broke, file a bug. I suspect it's a > problem with redhat-rpm-config instead of rpm itself. %configure passes --target=noarch-redhat-linux to configure for noarch packages - The issue is known to RH developers for quite a while, but has been ignored so far (I don't know if there is a PR on this.) > > Building cross-compilers (Note: These are native apps!) is PITA, > because > > RPM doesn't handle foreign binaries correctly (stripping, debug info > > etc. all are treated as <native>-elf). > > I have a vague recollection of overriding %strip. But binutils-multi > would also help with this. Nope, it would not help us much. 1. We are using patched binutils and rely upon canonicalized binutils. Therefore, non-canonicalized tools builts from HJLu's sources or vanilla FSF sources don't help us much. 2. Cross-built rpms consist of both target and native binaries. RPM treats all of them as native. We need to patch the scripts to use the correct search path. > > Cross building (rpmbuild --target= ...) isn't even close to be be > > functional, because rpm screws up various target/host/build platforms > > setting (e.g. %rpmopt), and doesn't properly distinguish between > > target/host/build and contain many hard-coded redhat specifics (We are > > cross building cross-toolchain rpms to mingw, cygwin and solaris). > > I haven't looked at cross-building to non-Linux RPMs. I can well believe > that it's more problematic, but certainly I've had reasonable success > with cross-building _Linux_ RPMs. As I said, the majority of failures I > saw were with autotools being used to do the wrong thing. Probably because you either * use ancient autotools * mix up on --host/--build/--target * are not applying canonicalization * rely upon config.cache, or worse config.site. ... > Not really with RPM itself. Conversely for me. Ralf -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list