On Thu, Oct 27, 2011 at 5:18 PM, Zhenqiang Chen zhenqiang.chen@linaro.org wrote:
zlib is used to build binutils, which is built before GCC. If you install a 32-bit binary toolchain on 64-bit system, you might have link error. By default, there is no 32-bit zlib on 64-bit system. You have to install 32-bit zlib manually.
Yip, but both binutils and GCC include a local copy of the zlib source that can be statically linked in during the build. It might be easier than doing it separetly, especially as zlib is messy to build.
Are you sure? I check binutils-2.21 source code. There is no zlib related source code like zlib.h. If it has, we should not build zlib separately.
Sorry, I was wrong. sourceware src/ has zlib. gcc pulls that in but binutils doesn't.
(3) Currently, the embedded toolchain source packages are released as a tarball, which includes gcc, gmp, etc. New scripts are required to support it.
We should check what needs to be done to meet the licenses. All of the tarballs used in building the binary are in .build/taraballs.
I will add scripts to copy the tarballs to .build/tarballs.
From I guess?
The root cause for this gap is that current embedded toolchain release creates some source packages from internal git server. And the package name is not in standard format: NAME-VERSION.
The script will be a workaround to build and test the embedded toolchain.
I will work with local team to improve the build process for future release. All the source packages should get from public links with standard format.
The glibc is more of a concern than the compiler. RHEL 5 is the earliest version we need to support which is GLIBC 2.5 based. Ubuntu 8.10 uses GLIBC 2.8 and might turn on other features like hardening or the stack protector which could cause trouble.
I think we should build and test the binary under RHEL 5 itself.
Stack protector is the issue on RHEL5. For us, we should build and test the binary under RHEL5.
Agreed.
What do we release: series of toolchains for different versions of Linux or just one which can run on most popular linux versions? If we only release one binary, what's the preferred build system? And we should make sure it can run on different linux systems.
In the requirements spec I said we should support the following:
Redhat Enterprise Linux 5.7 Ubuntu 10.04.3 and 11.05 Fedora 15 Debian 6.0.2 openSUSE 11.4
If we build on the oldest (RHEL 5) then it should work on the more recent versions. We'll need to test on all of these for the first release, but should be able to just test on RHEL and, say, Ubuntu 11.05 for subsequent versions.
The cloud and virtualisation does make this easier.
-- Michael