On Friday, 6 January 2017 03:51:42 IST Kevin Kofler wrote: > ... > * I do not see any practical advantage of Debian multiarch over FHS > multilib.
Good question, multiarch is a huge win for *embedded* developers.
Let me give real life example from my $day job: * We build stuff for arm and x86_64 (I ignore our legacy platforms like x86, ppc, whatnot...)
* We cross compile most stuff (faster), but not everything is easily cross-compilable: - Notorious examples are libraries with their own code-generation tools. - Examples: thrift, dbus-c++ (you need to *run* built tools) - So we build some packages natively (either on real ARM or in chroot with qemu-user-static).
* With old, non-multiarch scheme: - Library packages compiled natively on ARM would be under /usr/lib. - But they cannot be installed on the build machine, so I can cross-compile applications against them. - The workaround was to unpack them, relocate the libraries, headers, etc to the prefix expected by cross compiler (e.g: /opt/toolchain/....) and repack the result into an "all" architecture package.
* With multiarch distribution (Debian/jessie in my case): - Everything is symetric. ARM libraries goes to /usr/lib/arm-linux-gnu *regardless* if they were built natively or cross-compiled. - These packages may be co-installed on my development host and be used by the cross compiler. - So I have an ARM repository, everything built (natively + cross) is uploaded there and I can pull library dependencies into my build environment. - And the *exact* same binary packages installed on the ARM target are installed and being used by the cross compilers.
This is by far better and cleaner than the multilib, but: * It is a very big change, far wider in scope than just library directories. (pkg-config, cross-compilers, dynamic linking, rpath, packaging tools, etc.) * Debian introduced it in Debian/wheezy (~2012) but the real benefits were reaped only since Debian/jessie (~2015) when many libraries were already pre-built as multiarch and Debian shipped a multiarch aware cross-compilers. * So, I'm ambivalent here -- multiarch is great, but it's a big change and I'm not sure it's worth it *for Fedora users*. * Meanwhile, I'll keep using Fedora (KDE) as my personal workstation/server OS but develop everything at $day job on Debian (KDE) and for Debian (targets).
Long live Linux ;-)
-- Oron Peled Voice: +972-4-8228492 oron@xxxxxxxxxxxx http://users.actcom.co.il/~oron
"Debugging is at least twice as hard as writing the program in the first place. So if your code is as clever as you can possibly make it, then by definition you're not smart enough to debug it." -- Brian Kernighan
|
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx