This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Trying to get crosstool-0.43 to work on Solaris 9


Hello.

I'd like to setup a cross compiler machine on a Sparc Solaris 9
system with a target of i686-pc-linux-gnu. To do that, I downloaded
crosstool-0.43.tar.gz, unpacked it, "mkdir ~/downloads", changed
"RESULT_TOP=/home/askwar/crosstool" in "demo-i686.sh" and tried
to run it. It fails :(

askwar@winpc000220 ~/cross-compile/crosstool-0.43 $ CONFIG_SHELL=/bin/ksh
askwar@winpc000220 ~/cross-compile/crosstool-0.43 $ export CONFIG_SHELL
askwar@winpc000220 ~/cross-compile/crosstool-0.43 $ sh ./demo-i686.sh 2>&1 | tee
"build-log `date +%Y%m%d_%H%M%S`.txt"
TARBALLS_DIR=/home/askwar/downloads
RESULT_TOP=/home/askwar/crosstool
+ export TARBALLS_DIR RESULT_TOP 
GCC_LANGUAGES=c,c++
+ export GCC_LANGUAGES 
+ mkdir -p /home/askwar/crosstool 
+ cat i686.dat gcc-4.1.0-glibc-2.3.6-tls.dat 
+ eval KERNELCONFIG=`pwd`/i686.config TARGET=i686-unknown-linux-gnu
TARGET_CFLAGS="-O" GCC_EXTRA_CONFIG="$GLIBC_EXTRA_CONFIG --with-arch=pentium-m
--with-tune=pentium-m" BINUTILS_DIR=binutils-2.16.1 GCC_CORE_DIR=gcc-3.3.6
GCC_DIR=gcc-4.1.0 GLIBC_DIR=glibc-2.3.6 LINUX_DIR=linux-2.6.15.4
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6 GDB_DIR=gdb-6.5
GLIBC_EXTRA_CONFIG="$GLIBC_EXTRA_CONFIG --with-tls --with-__thread
--enable-kernel=2.4.18" sh all.sh --notest 
+ sh all.sh --notest 
GLIBC_EXTRA_CONFIG= --with-tls --with-__thread --enable-kernel=2.4.18
GDB_DIR=gdb-6.5 GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0 LINUX_DIR=linux-2.6.15.4
GLIBC_DIR=glibc-2.3.6 GCC_DIR=gcc-4.1.0 GCC_CORE_DIR=gcc-3.3.6
BINUTILS_DIR=binutils-2.16.1 GCC_EXTRA_CONFIG= --with-tls --with-__thread
--enable-kernel=2.4.18 --with-arch=pentium-m --with-tune=pentium-m
TARGET_CFLAGS=-O TARGET=i686-unknown-linux-gnu + pwd 
KERNELCONFIG=/export/home/askwar/cross-compile/crosstool-0.43/i686.config
You set both LINUX_DIR and LINUX_SANITIZED_HEADER_DIR - ignoring LINUX_DIR for
the build
DEJAGNU not set, so not running any regression tests
GLIBC_ADDON_OPTIONS not set, so building all glibc add-on's
TOOLCOMBO=gcc-4.1.0-glibc-2.3.6
+ pwd 
BUILD_DIR=/export/home/askwar/cross-compile/crosstool-0.43/build/i686-unknown-linux-gnu/gcc-4.1.0-glibc-2.3.6
+ pwd 
TOP_DIR=/export/home/askwar/cross-compile/crosstool-0.43
+ test -z  
SRC_DIR=/export/home/askwar/cross-compile/crosstool-0.43/build/i686-unknown-linux-gnu/gcc-4.1.0-glibc-2.3.6
+ echo SRC_DIR not set, so source tarballs will be unpacked in the build directory 
SRC_DIR not set, so source tarballs will be unpacked in the build directory
+ test -w /tmp 
TARBALLS_DIR=/home/askwar/downloads
RESULT_TOP=/home/askwar/crosstool
PREFIX=/home/askwar/crosstool/gcc-4.1.0-glibc-2.3.6/i686-unknown-linux-gnu
+ export TOOLCOMBO 
+ export PREFIX 
+ export BUILD_DIR 
+ export SRC_DIR 
+ export TARBALLS_DIR 
+ export TOP_DIR 
+ [ 1 -gt 0 ] 
opt_no_test=1
+ shift 
+ [ 0 -gt 0 ] 
+ test  = 1 
+ test  =  
+ test  = 1 
+ test -d
/export/home/askwar/cross-compile/crosstool-0.43/build/i686-unknown-linux-gnu/gcc-4.1.0-glibc-2.3.6

+ mv
/export/home/askwar/cross-compile/crosstool-0.43/build/i686-unknown-linux-gnu/gcc-4.1.0-glibc-2.3.6
/export/home/askwar/cross-compile/crosstool-0.43/build/i686-unknown-linux-gnu/gcc-4.1.0-glibc-2.3.6.del.4312

+ rm -rf
/export/home/askwar/cross-compile/crosstool-0.43/build/i686-unknown-linux-gnu/gcc-4.1.0-glibc-2.3.6.del.4312

+ mkdir -p
/export/home/askwar/cross-compile/crosstool-0.43/build/i686-unknown-linux-gnu/gcc-4.1.0-glibc-2.3.6

+ sh getandpatch.sh 
+ test -z  
+ test -z  
+ test -z binutils-2.16.1 
+ test -z  
+ test -z
/export/home/askwar/cross-compile/crosstool-0.43/build/i686-unknown-linux-gnu/gcc-4.1.0-glibc-2.3.6

+ test -z gcc-4.1.0 
+ test -z gcc-3.3.6 
+ test -z gdb-6.5 
+ test  =  
+ test -z glibc-2.3.6 
+ test -z linux-libc-headers-2.6.12.0 
+ test -z linux-2.6.15.4 
+ test -z glibc-linuxthreads-2.3.6 
+ test -z /home/askwar/downloads 
+ test -z  
+ test -z  
VERBOSE=-v
PATCHFAILMSGS=^No file to patch.  Skipping patch.|^Hunk .* FAILED at
LANG=C
+ export LANG 
getandpatch.sh: syntax error at line 95: `;' unexpected

Line 95 is the "for arg; do" in the following:

    set -x
    # Check to see if the tarball already exists
    exists=""
    for arg; do
        case $arg in
        *.gz|*.bz2|*.tgz) ;;
        *) abort "unknown suffix on url $arg" ;;
        esac

According to "man ksh", "for arg; do" is correct syntax.

...

Ah! In all.sh, "sh getandpatch.sh" is invoked. sh on Solaris 9 does
not seem to recognize this syntax. After changing changing line 123
from "sh getandpatch.sh" to "ksh getandpatch.sh", all is fine.

A bit later, I stumbled over the following problem:

+ test -n
+ cd /export/home/askwar/cross-compile/crosstool-0.43/build/i686-unknown-linux-gnu/gcc-4.1.0-glibc-2.3.6
+ echo hmm maybe cd
hmm maybe cd
Usage: tar {txruc@}[vfbFXhiBEelmopwnq[0-7]] [-k size] [tapefile] [blocksize] [exclude-file] [-I include-file] files ...
cannot unpack /home/askwar/downloads/gdb-6.5.tar.bz2

Problem is, that "tar" is the SUN tar. For starters, it does not know
about the "-z" or "-j" options. In line 141 and 143, I exchanged tar
with gtar, and all is well. Another more portable fix would be to not
rely on GNUisms, but use something like "gzip -cd $TARBALLS_DIR/$ARCHIVE_NAME | tar $VERBOSE -xf -"
instead.

Sending this for the sake of the archive - and maybe it might be a
good idea, to fix this in upcoming releases of crosstool?

Regards,

Alexander Skwar


--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]