ts-7000
[Top] [All Lists]

Re: [ts-7000] I built a 2.6 kernel; now what? :)

To:
Subject: Re: [ts-7000] I built a 2.6 kernel; now what? :)
From: Jeff Cunningham <>
Date: Sun, 24 Jun 2007 13:06:42 -0700
Triffid Hunter wrote:
>
>
> crossdev -t arm-unknown- linux-gnu worked for me. 2nd stage gcc failed
> first time around, but emerge --resume fixed it. crossdev chose
> binutils-2.17, gcc-4.1.2, glibc-2.5-r3 and linux-headers- 2.6.21 for 
> me all
> by itself.
>
> Looks like you didn't quite read the help closely enough:
>
> ~ # crossdev
> Usage: crossdev [options] --target TARGET
> ...
> Target (-t): takes the form: ARCH-VENDOR- OS-LIBC
> Run 'crossdev -t help' for examples
>
> ~ # crossdev -t help
> Supported Architectures:
> ...
> - arm / armeb
> ...
> Supported C Libraries:
> - glibc (gnu)
> ...
> - uclibc
> ...
> Softfloat toolchains:
> Include 'softfloat' in the 'vendor' field
> e.g. armeb-softfloat- linux-uclibc powerpc-booya_ softfloat- linux-gnu
>
> so -t arm wouldn't give you a vendor, os or libc which would get the
> toolchain rather confused. Your host system should be i686-pc-linux- 
> gnu or
> similar for example. Use arm-unknown- linux-uclibc (instead of -gnu) 
> for a
> uclibc toolchain.
>
> According to http://wiki. debian.org/ ArmEabiPort 
> <http://wiki.debian.org/ArmEabiPort> ,
> arm-unknown- linux-gnueabi should create a toolchain that uses some new
> abi. Appariently it should be faster and do a few things better. I 
> plan to
> try this shortly. My kernel already has support for it, but I need a new
> toolchain that supports it too. If you beat me to it, tell us how you go.
>
Hmmm. I thought I had read the help pretty closely. My first tries were 
with:

    crossdev -t arm-softfloat-linux-gnu

which didn't work. Then I read in one of the list emails that someone 
succeeded by just using

    crossdev -t arm

which also didn't work. My thinking was that perhaps the latest version 
of something had changed and that I needed to back off by specifying 
versions, so I went backwards with binutils until it compiled, then 
stage1 gcc etc. stopping eventually when it looked like glibc wasn't 
going to happen. After reading your email, I tried

# crossdev -t arm-unknown-linux-gnu
-----------------------------------------------------------------------------------
---
 * Host Portage ARCH:     x86
 * Target Portage ARCH:   arm
 * Target System:         arm-unknown-linux-gnu
 * Stage:                 4 (C/C++ compiler)

 * binutils:              binutils-[latest]
 * gcc:                   gcc-[latest]
 * headers:               linux-headers-[latest]
 * libc:                  glibc-[latest]

 * PORTDIR_OVERLAY:       /usr/local/portage
 * PORT_LOGDIR:           /var/log/portage
 * PKGDIR:                /usr/portage/packages/cross/arm-unknown-linux-gnu
 * PORTAGE_TMPDIR:        /var/tmp/cross/arm-unknown-linux-gnu
  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  
-  _  -  ~ 
- 
 * Forcing the latest versions of {binutils,gcc}-config/gnuconfig 
...           [ ok ]
 * Log: /var/log/portage/cross-arm-unknown-linux-gnu-binutils.log
 * Emerging cross-binutils 
...                                                  [ ok ]
 * Log: /var/log/portage/cross-arm-unknown-linux-gnu-gcc-stage1.log
 * Emerging cross-gcc-stage1 
...                                                [ ok ]
 * Log: /var/log/portage/cross-arm-unknown-linux-gnu-linux-headers.log
 * Emerging cross-linux-headers 
...                                             [ ok ]
 * Log: /var/log/portage/cross-arm-unknown-linux-gnu-glibc.log
 * Emerging cross-glibc ...

 * glibc failed :(
 * If you file a bug, please attach the following logfiles:
 * /var/log/portage/cross-arm-unknown-linux-gnu-info.log
 * /var/log/portage/cross-arm-unknown-linux-gnu-glibc.log
achilles crossdev #

And then tried resuming as you said, all though mine failed earlier than 
yours:

# emerge --resume
<snip many lines of success>
../ports/sysdeps/arm/nptl/tls.h:48:3: error: #error "TLS support is 
required."
if test -r 
/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.5-r3/work/build-def
ault-arm-unknown-linux-gnu-nptl/csu/abi-tag.h.new; then mv -f 
/var/tmp/portage/cros
s-arm-unknown-linux-gnu/glibc-2.5-r3/work/build-default-arm-unknown-linux-gnu-nptl/
csu/abi-tag.h.new 
/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.5-r3/work/bu
ild-default-arm-unknown-linux-gnu-nptl/csu/abi-tag.h; \
        else echo >&2 'This configuration not matched in ../abi-tags'; 
exit 1; fi
gcc ../ports/sysdeps/arm/initfini.c -c -std=gnu99 -O2 -Wall -Winline 
-Wwrite-string
s -fmerge-all-constants -fno-strict-aliasing -march=athlon-xp -pipe 
-Wstrict-protot
ypes    -g0 -fPIC -fno-inline-functions -fno-unit-at-a-time  
-I../include -I/var/tm
p/portage/cross-arm-unknown-linux-gnu/glibc-2.5-r3/work/build-default-arm-unknown-l
inux-gnu-nptl/csu 
-I/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.5-r3/work/
build-default-arm-unknown-linux-gnu-nptl -I../ports/sysdeps/arm/elf 
-I../ports/sysd
eps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm 
-I../ports/sysd
eps/unix/sysv/linux -I../nptl/sysdeps/unix/sysv/linux 
-I../nptl/sysdeps/pthread -I.
./sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu 
-I../sysdeps/unix/c
ommon -I../sysdeps/unix/mman -I../sysdeps/unix/inet 
-I../ports/sysdeps/unix/sysv -I
../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv 
-I../ports/sysdeps/unix/arm -I../p
orts/sysdeps/unix -I../nptl/sysdeps/unix -I../sysdeps/unix 
-I../sysdeps/posix -I../
ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm 
-I../sysde
ps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 
-I../sysdeps
/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../ports 
-I../nptl  -I.. -
I../libio -I. -nostdinc -isystem 
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include -isys
tem /usr/arm-unknown-linux-gnu/usr/include -D_LIBC_REENTRANT -include 
../include/li
bc-symbols.h        -DHAVE_INITFINI -S -g0 -fPIC -fno-inline-functions 
-fno-unit-at
-a-time -finhibit-size-directive \
                -fno-exceptions -o 
/var/tmp/portage/cross-arm-unknown-linux-gnu/gli
bc-2.5-r3/work/build-default-arm-unknown-linux-gnu-nptl/csu/initfini.s
make[2]: *** 
[/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.5-r3/work/build-
default-arm-unknown-linux-gnu-nptl/tcb-offsets.h] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory 
`/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.5-
r3/work/glibc-2.5/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory 
`/var/tmp/portage/cross-arm-unknown-linux-gnu/glibc-2.5-
r3/work/glibc-2.5'
make: *** [all] Error 2
!!! ERROR: cross-arm-unknown-linux-gnu/glibc-2.5-r3 failed.
Call stack:
  ebuild.sh, line 1615:   Called dyn_compile
  ebuild.sh, line 972:   Called qa_call 'src_compile'
  ebuild.sh, line 44:   Called src_compile
  glibc-2.5-r3.ebuild, line 1159:   Called src_compile
  glibc-2.5-r3.ebuild, line 1170:   Called toolchain-glibc_src_compile
  glibc-2.5-r3.ebuild, line 272:   Called die

!!! make for default failed
!!! If you need support, post the topmost build error, and the call 
stack if releva
nt.
!!! A complete build log is located at 
'/var/log/portage/cross-arm-unknown-linux-gn
u:glibc-2.5-r3:20070624-194655.log'.

!!! This ebuild is from an overlay: '/usr/local/portage'

I don't know what to make of that error, so I'm stumped.
By the way, I also tried cutting your command (which contained what I 
believe is an extra space):

    crossdev -t arm-unknown- linux-gnu

but it dies trying to build binutils and must have been a typo. Here is 
my current host system, in case it is relevant:

Linux achilles 2.6.19-gentoo-r5 #5 SMP PREEMPT Mon May 28 11:49:47 PDT 
2007 i686 AMD Sempron(tm) AuthenticAMD GNU/Linux

Thanks for all your help.
Jeff



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU