Architectures to support when releasing binaries
michael.hope at linaro.org
Tue Jan 17 23:11:25 UTC 2012
On Tue, Jan 17, 2012 at 1:21 AM, Alexander Sack <asac at linaro.org> wrote:
> On Mon, Jan 16, 2012 at 3:32 AM, Michael Hope <michael.hope at linaro.org> wrote:
>> Hi there. I have a style question. For the pre-built versions of
>> gcc-linaro, should we release a i686 version that also runs on x86_64,
>> or do separate i686 and x86_64 builds?
>> If we do just an i686 version then:
>> * There's less to test
>> * There's one 'linux' binary so less confusion on what to download
>> and a simpler download page
>> * Most end users will already have the 32 bit libraries due to Skype or Flash
>> but it has some downsides:
>> * May not work 'out of the box'
>> * Cryptic failures if you don't have the 32 bit libraries installed
> Can we improve error reporting for those? Or maybe shipping a
> check-install script that probes for proper 32-bit libs?
On a 64 bit system with no 32 bit libraries at all then you see the
scary and misleading '-bash: arm-linux-gnueabi-gcc: No such file or
directory'. Bash tried to run the program, couldn't find the
lib/ld-linux.so.2 loader, and fails.
I wonder if there's a fat binary style wrapper that can give you a
more informative message. Say some 64 bit code that runs if you're on
a 64 bit host that prints 'This is a 32 bit program. Please see
README.txt for instructions on how to install the required 32 bit
I like the 'hey, if something's wrong run check-install.sh' idea.
>> * Some users can't install extra packages and may not be allowed the
>> 32 bit libraries
> What libs are potentially missing? How many of those could get linked
> in statically?
Fairly minimal - just those provided by the LSB such as zlib, ncurses,
libm, and libc. More esoteric libraries such as expat are already
Unfortunately a clean 64 bit install doesn't even include a 32 bit
libc. It feels wrong to statically link it.
Note that CodeSourcery's compiler is 32 bit only and dynamically links
More information about the linaro-dev