Hi,
It seems to me that your current toolchain releases [1] don't default to a multiarch layout. Am I looking in the right place? Do you anticipate enabling multiarch in the future? Is doing this currently blocked by limitations in tools such as crosstool-ng?
1. http://releases.linaro.org/13.01/components/toolchain/binaries
Thanks, Christopher
+++ Christopher Covington [2013-02-05 08:58 -0500]:
Hi,
It seems to me that your current toolchain releases [1] don't default to a multiarch layout. Am I looking in the right place? Do you anticipate enabling multiarch in the future? Is doing this currently blocked by limitations in tools such as crosstool-ng?
'Multiarch layout' could mean more than one thing. Do you mean that the toolchain does not search multiarch paths for libraries and headers by default? Or do you mean that the toolchain does not install its own libraries into multiarched locations? I assume you are interested in the former (I am interested in both).
Currently if you want toolchains defaulting to multiarch search paths for libraries and headers then you need to use the ones from Ubuntu and Debian, which of course lag behind the linaro releases slightly (although not much).
My understanding (I'm not in the toolchain team) is that Linaro are trying to produce a one-toolchain-fits-all tarball, which I don't believe is actually possible as you need different defaults for use on multiarch and non-mulitarch systems. But I could be wrong...
I have been worrying about getting this all working nicely in Ubuntu/Debian and can say that it does now work nicely in Ubuntu Raring, and hackily in Quantal, and probably already works in Debian Experimental and maybe unstable but things are not yet well-tested there. I have not taken much notice of exactly what is being done in the binary toolchain releases, but my understanding is that you can build them on multiarch systems, but they don't default to searching multiarch paths so are not much use for building anything needing system libraries on multiarch systems. Is that right toolchain people?
What is your use-case? Knowing that will help us advice on best course of current action and inform us on how we might need to change what's on offer.
And finally, yes, I don't believe crosstool-ng supports multiarch paths much/at all yet. Fixing this would probably be useful.
Wookey
On 5 February 2013 22:20, Wookey wookey@wookware.org wrote:
+++ Christopher Covington [2013-02-05 08:58 -0500]:
Hi,
It seems to me that your current toolchain releases [1] don't default to a multiarch layout. Am I looking in the right place? Do you anticipate enabling multiarch in the future? Is doing this currently blocked by limitations in tools such as crosstool-ng?
'Multiarch layout' could mean more than one thing. Do you mean that the toolchain does not search multiarch paths for libraries and headers by default? Or do you mean that the toolchain does not install its own libraries into multiarched locations? I assume you are interested in the former (I am interested in both).
Currently if you want toolchains defaulting to multiarch search paths for libraries and headers then you need to use the ones from Ubuntu and Debian, which of course lag behind the linaro releases slightly (although not much).
My understanding (I'm not in the toolchain team) is that Linaro are trying to produce a one-toolchain-fits-all tarball, which I don't believe is actually possible as you need different defaults for use on multiarch and non-mulitarch systems. But I could be wrong...
I have been worrying about getting this all working nicely in Ubuntu/Debian and can say that it does now work nicely in Ubuntu Raring, and hackily in Quantal, and probably already works in Debian Experimental and maybe unstable but things are not yet well-tested there. I have not taken much notice of exactly what is being done in the binary toolchain releases, but my understanding is that you can build them on multiarch systems, but they don't default to searching multiarch paths so are not much use for building anything needing system libraries on multiarch systems. Is that right toolchain people?
What is your use-case? Knowing that will help us advice on best course of current action and inform us on how we might need to change what's on offer.
And finally, yes, I don't believe crosstool-ng supports multiarch paths much/at all yet. Fixing this would probably be useful.
Linaro crosstool-ng had multiarch support. In the binary release, arm-linux-gnueabihf toolchain does support multiarch.
$ arm-linux-gnueabihf-gcc --print-multiarch arm-linux-gnueabihf
The sysroot (libc, include headers, etc) are downloaded from Ubuntu Precise release. Please check files at gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/arm-linux-gnueabihf/libc/
The aarch64-linux-gnu toolchain does not support multiarch.
Thanks! -Zhenqiang
Chen, Wookey,
Thanks for the responses.
On 02/05/2013 08:55 PM, Zhenqiang Chen wrote:
On 5 February 2013 22:20, Wookey wookey@wookware.org wrote:
What is your use-case? Knowing that will help us advice on best course of current action and inform us on how we might need to change what's on offer.
The initial use case would be to build a root filesystem with dynamically linked executables from the various binary interfaces and architectures happily finding their correct linker/loader, libraries, etc. A multiarch layout on the target filesystem may not be the only way to make this happen, but in my review of the options it seems like the best way.
And finally, yes, I don't believe crosstool-ng supports multiarch paths much/at all yet. Fixing this would probably be useful.
Linaro crosstool-ng had multiarch support. In the binary release, arm-linux-gnueabihf toolchain does support multiarch.
$ arm-linux-gnueabihf-gcc --print-multiarch arm-linux-gnueabihf
The sysroot (libc, include headers, etc) are downloaded from Ubuntu Precise release. Please check files at gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/arm-linux-gnueabihf/libc/
The aarch64-linux-gnu toolchain does not support multiarch.
This is helpful. Thanks!
Thanks, Christopher
linaro-toolchain@lists.linaro.org