Re: Architectures to support when releasing binaries

2012-01-17 Thread Michael Hope
On Tue, Jan 17, 2012 at 1:21 AM, Alexander Sack  wrote:
> On Mon, Jan 16, 2012 at 3:32 AM, Michael Hope  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
libraries.'

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
statically linked.

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
against libc.

-- Michael

___
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev


Re: Architectures to support when releasing binaries

2012-01-16 Thread Alexander Sack
On Mon, Jan 16, 2012 at 3:32 AM, Michael Hope  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?

>  * 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?

-- 
Alexander Sack
Technical Director, Linaro Platform Teams
http://www.linaro.org | Open source software for ARM SoCs
http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog

___
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev


Re: Architectures to support when releasing binaries

2012-01-16 Thread Javier Martinez Canillas
On Mon, Jan 16, 2012 at 3:32 AM, Michael Hope  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
>  * Some users can't install extra packages and may not be allowed the
> 32 bit libraries
>
> There's no real performance or compatibility advantage in also having
> an x86_64 build.
>
> Any thoughts?  I quite like having an i686 only build but am worried
> about the initial experience.
>
> -- Michael
>

Hello Michael,

I've been using the Linaro toolchain in Ubuntu for about 6 months and
a few days ago installed on a machine with Fedora x86_64. I'm not an
GCC expert so probably I'm on the initial experience group.

Since Linaro doesn't have rpms for its tool-chain I first tried to
install each package from source (gcc, gdb, binutils, etc) but then
found your pre-built binaries download page. For me it worked
out-of-the-box, I just had to install the Fedora Linux Standard Base
and 32 lib compatibility packages.

I don't really care if there is some performance gain using an x86_64
tool-chain since I only care of the ARMv7 generated binaries
performance. In this regard the Linaro GCC is far more better than
other ARM compilers both in the size of the generated binaries and
their execution time on our board.

 So, I think is not necessary to have a pre-built version for x86_64.
Users that want an x86_64 tool-chain can always build it using the
crosstool-NG IMHO.

Hope it helps,

-- 
Javier Martínez Canillas
(+34) 682 39 81 69
Barcelona, Spain

___
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev


Architectures to support when releasing binaries

2012-01-15 Thread Michael Hope
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
 * Some users can't install extra packages and may not be allowed the
32 bit libraries

There's no real performance or compatibility advantage in also having
an x86_64 build.

Any thoughts?  I quite like having an i686 only build but am worried
about the initial experience.

-- Michael

___
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev