I'm trying to get going with scratchbox using foreign toolchains, but
I'm not having much success. I've managed to build a toolchain using
crosstool 0.42 of the following flavor
/gcc-3.4.5-glibc-2.3.6/powerpc-603-linux-gnu. I originally built this
toolchain under a stock install of Ubuntu 6.10 (same machine scratchbox
1.0.6 is installed on) to the location suggested by the crosstool
documentation
/opt/crosstool/gcc-3.4.5-glibc-2.3.6/powerpc-603-linux-gnu. To install
in scratchbox, I tar'd up the entire directory and then untar'd it at
/scratchbox/compilers.
After installing the sb-toolchain-extras darcs tree in my sbox user home
directory, I then attempted to run
~/sb-toolchain-extras/confhelper/create_toolchain_conf.py with the
following results:
-------------------------------------
[sbox-host1: /scratchbox/compilers/powerpc-603-linux-gnu] >
~/sb-toolchain-extras/confhelper/create_toolchain_conf.py
COMPILER_NAME = powerpc-603-linux-gnu
COMPILER_PACKAGE = <you have to fill in this one>
ARCH = powerpc
SUB_ARCH = $(ARCH)
VENDOR = 603-
TOOLCHAIN_PREFIX_END = gnu-
TARGET_END = -gnu
./powerpc-603-linux-gnu/bin/ld: /scratchbox/host_shared/lib/libc.so.6:
version `GLIBC_2.4' not found (required by ./powerpc-603-linux-gnu/bin/ld)
./bin/powerpc-603-linux-gnu-ld: /scratchbox/host_shared/lib/libc.so.6:
version `GLIBC_2.4' not found (required by ./bin/powerpc-603-linux-gnu-ld)
./distributed/bin/powerpc-603-linux-gnu-ld:
/scratchbox/host_shared/lib/libc.so.6: version `GLIBC_2.4' not found
(required by ./distributed/bin/powerpc-603-linux-gnu-ld)
HEADERS_DIR = $(COMPILER_DIR)/powerpc-603-linux-gnu/include
LINUX_HEADERS_SUBDIRS = linux asm
LINUX_HEADERS_VER = 2.6.12
LIBC_VER = 2.3.6
#
# ERROR: I don't have arch and therefore cannot find bin and lib dirs.
CHECKSUM_FILE = ../../$(CONFIG:.conf=.checksums)
[sbox-host1: /scratchbox/compilers/powerpc-603-linux-gnu] >
-----------------------------------
On digging a little more, I think all my problems stem from two issues.
First, when invoked directly, the compiler cannot find my libc library,
since in the scratchbox environement, the library search path does not
include it. This is shown with ldd.
------------------------------------
[sbox-host1: /scratchbox/compilers/powerpc-603-linux-gnu] > ldd
./powerpc-603-linux-gnu/bin/gcc
libc.so.6 => not found (0x00000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)
[sbox-host1: /scratchbox/compilers/powerpc-603-linux-gnu] > export
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/scratchbox/compilers/powerpc-603-linux-gnu/powerpc-603-linux-gnu/lib"
[sbox-host1: /scratchbox/compilers/powerpc-603-linux-gnu] > echo
$LD_LIBRARY_PATH
/lib:/usr/lib:/usr/local/lib:/usr/X11R6/lib:/scratchbox/compilers/powerpc-603-linux-gnu/powerpc-603-linux-gnu/lib
[sbox-host1: /scratchbox/compilers/powerpc-603-linux-gnu] > ldd
./powerpc-603-linux-gnu/bin/gcc libc.so.6 =>
/scratchbox/compilers/powerpc-603-linux-gnu/powerpc-603-linux-gnu/lib/libc.so.6
(0x00000000)
/lib/ld.so.1 => /lib/ld.so.1 (0x00000000)
[sbox-host1: /scratchbox/compilers/powerpc-603-linux-gnu] >
------------------------------------
I can fix this by setting up LD_LIBRARY_PATH, but my underlying question
is how are the environment variables supposed to be managed within
scratchbox to support a foreign toolchain? Is there a list of what and
how the environment should be setup to support a compiler that has been
placed in the /scratchbox/compilers directory?
My second problem is that my gcc compiler is dependent on GLIBC_2.4,
which is probably due to having been built in the Ubuntu environment
which has libc6 version '2.4-1ubunt' installed. This is not exported by
the libc.so.6 that I have in my compiler tree (since I built against 2.3.6).
I know this is more of a crosstool question, but does anyone know how to
configure crosstool to build a gcc3.4 compiler that is independent of
the host environment (e.g. no dependency on the libc for the host on
which the compiler was built)?
Thanks in advance for any help people can provide,
-Jim Heck
_______________________________________________
Scratchbox-users mailing list
Scratchbox-users@lists.scratchbox.org
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users