Hi all,

        Did anyone help me to resolve this problem , it block me a long time 
,Thank you very much 
         
        I have a toolchain that is big endian ARM, so I want to use the 
toolchain with the binary, not the source code , can we have some method to 
finish this work in yocto ? I still have no clue about this .
        I have done the below steps:
                1.modify MACHINE=qemux86 to MACHINE=qemuarm 
                2.modify the file " external-csl-toolchain_2008q3-72.bb" add a 
line " SRC_URI = "file://gcc-4.4.1.tar.bz2"", the gcc-4.4.1.tar.bz2 is the 
source code of the arm big endian toolchain
                3.then I face the some problem like this website 
"https://lists.yoctoproject.org/pipermail/poky/2011-February/003809.html";  
,then I add a line " LIC_FILES_CHKSUM = 
"file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"" ,in 
file                                                
external-csl-toolchain_2008q3-72.bb to fix this problem 
                4.now I got the below log :
NOTE: Resolving any missing task queue dependencies
NOTE: multiple providers are available for virtual/arm-none-linux-gnueabi-g++ 
(external-csl-toolchain, gcc-cross)
NOTE: consider defining a PREFERRED_PROVIDER entry to match 
virtual/arm-none-linux-gnueabi-g++
NOTE: multiple providers are available for runtime linux-libc-headers-dev 
(linux-libc-headers, linux-libc-headers-yocto, 
linux-libc-headers-yocto-nativesdk)
NOTE: consider defining a PREFERRED_PROVIDER entry to match 
linux-libc-headers-dev
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Running task 206 of 1360 (ID: 455, 
/home/kyle/poky-edison-6.0/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb,
 do_install)
NOTE: package external-csl-toolchain-2008q3-72-r1: task do_install: Started
ERROR: Function 'do_install' failed (see 
/home/kyle/ccc/tmp/work/armv5te-none-linux-gnueabi/external-csl-toolchain-2008q3-72-r1/temp/log.do_install.9579
 for further information)
ERROR: Logfile of failure stored in: 
/home/kyle/ccc/tmp/work/armv5te-none-linux-gnueabi/external-csl-toolchain-2008q3-72-r1/temp/log.do_install.9579
Log data follows:
| NOTE: make -e MAKEFLAGS= 
install_root=/home/kyle/ccc/tmp/work/armv5te-none-linux-gnueabi/external-csl-toolchain-2008q3-72-r1/image
 install
| make: *** No rule to make target `install'.  Stop.
| ERROR: oe_runmake failed
| ERROR: Function 'do_install' failed (see 
/home/kyle/ccc/tmp/work/armv5te-none-linux-gnueabi/external-csl-toolchain-2008q3-72-r1/temp/log.do_install.9579
 for further information)
NOTE: package external-csl-toolchain-2008q3-72-r1: task do_install: Failed
ERROR: Task 455 
(/home/kyle/poky-edison-6.0/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb,
 do_install) failed with exit code '1'
ERROR: 
'/home/kyle/poky-edison-6.0/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb'
 failed
kyle@ubuntu:~/ccc$

  After I comment the line "#inherit libc-common" and "#inherit libc-package" 
the error become the below :

Log data follows:
| DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc', 'bit-64', 
'x86_64-linux', 'common']
| NOTE: Running 
/home/ccc/poky/edison-6.0-build/tmp/work-shared/gcc-4.6.2+svnr175454-r17/gcc-4_6-branch/configure
  --build=x86_64-linux                   --host=x86_64-linux                
--target=arm-none-linux-gnueabi                 
--prefix=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/usr    
--exec_prefix=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/usr     
         
--bindir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/usr/bin/armv5te-none-linux-gnueabi.gcc-cross-initial
            
--sbindir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/usr/bin/armv5te-none-linux-gnueabi.gcc-cross-initial
                   
--libexecdir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/usr/libexec/armv5te-none-linux-gnueabi.gcc-cross-initial
            
--datadir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/usr/share   
                
--sysconfdir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/etc      
           
--sharedstatedir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/com  
          
--localstatedir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/var   
         
--libdir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/usr/lib/armv5te-none-linux-gnueabi.gcc-cross-initial
            
--includedir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/usr/include
        
--oldincludedir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/usr/include
            
--infodir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/usr/share/info
                 
--mandir=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux/usr/share/man
                --disable-silent-rules             
--with-libtool-sysroot=/home/ccc/poky/edison-6.0-build/tmp/sysroots/x86_64-linux
 --with-local-prefix=/home/ccc/poky/edison-6.0-build/tmp/sysroots/qemuarm/usr   
         --with-newlib           --without-headers               
--disable-shared                --disable-threads               
--disable-multilib                 --disable-__cxa_atexit          
--enable-languages=c                 --enable-target-optspace           
--program-prefix=arm-none-linux-gnueabi-           
--with-sysroot=/home/ccc/poky/edison-6.0-build/tmp/sysroots/qemuarm             
--with-build-sysroot=/home/ccc/poky/edison-6.0-build/tmp/sysroots/qemuarm       
   --disable-libmudflap                    --disable-libgomp                    
   --disable-libssp                  --disable-libquadmath                    
--enable-decimal-float=no               --with-float=soft --enable-nls 
--enable-__cxa_atexit
| checking build system type... x86_64-pc-linux-gnu
| checking host system type... x86_64-pc-linux-gnu
| checking target system type... arm-none-linux-gnueabi
| checking for a BSD-compatible install... /usr/bin/install -c
| checking whether ln works... yes
| checking whether ln -s works... yes
| checking for a sed that does not truncate output... /bin/sed
| checking for gawk... gawk
| checking for x86_64-linux-gcc... gcc
| checking for C compiler default output file name...
| configure: error: in 
`/home/ccc/poky/edison-6.0-build/tmp/work/armv5te-none-linux-gnueabi/gcc-cross-initial-4.6.2+svnr175454-r17/gcc-4_6-branch/build.x86_64-linux.arm-none-linux-gnueabi':
| configure: error: C compiler cannot create executables
| See `config.log' for more details.
| ERROR: oe_runconf failed
| ERROR: Function 'do_configure' failed (see 
/home/ccc/poky/edison-6.0-build/tmp/work/armv5te-none-linux-gnueabi/gcc-cross-initial-4.6.2+svnr175454-r17/temp/log.do_configure.17470
 for further information)
NOTE: package gcc-cross-initial-4.6.2+svnr175454-r17: task do_configure: Failed
ERROR: Task 1271 
(/home/ccc/poky/meta/recipes-devtools/gcc/gcc-cross-initial_4.6.bb, 
do_configure) failed with exit code '1'
ERROR: '/home/ccc/poky/meta/recipes-devtools/gcc/gcc-cross-initial_4.6.bb' 
failed

So , I have two questions 

1.how can I fix this problem use the source code of toolchain to build our 
system?
2.how can I use my binary toolchain to build my system ?Did anyone to these 
things before ?



-----Original Message-----
From: Richard Purdie [mailto:richard.pur...@linuxfoundation.org] 
Sent: 2012年3月31日 23:44
To: Wangdawei (Sivan)
Cc: p...@yoctoproject.org
Subject: Re: [poky] The problem of using the external toolchain

On Sat, 2012-03-31 at 09:55 +0000, Wangdawei (Sivan) wrote:
> The reason is that I want to use the binary toolchain I have own in
> yocto, and I don’t have the source code of the toolchain , then I do
> the steps below:
>  
> 1. add a line in local.conf like this TCMODE ?= "external-csl2008q3"
> 2.modify the file tcmode-external-csl2008q3.inc, change
> EXTERNAL_TOOLCHAIN = "/opt/toolchain-be8/armeb-linux-gnueabi" to refer
> to where my binary toolchain stored
> 3. comment the line “#SRC_URI = "file://SUPPORTED"” in file
> “external-csl-toolchain_2008q3-72.bb”,because we don’t have the source
> code ,so I think the SRC_URI maybe will be NULL
>  
> When I do this , but it failed , below is the log I have got:
>  
> NOTE: package binutils-cross-2.21.1a-r0: task do_configure: Started
>
> ERROR: Function 'do_configure' failed
> (see 
> /home/ccc/poky-second/build/tmp/work/i586-none-linux/binutils-cross-2.21.1a-r0/temp/log.do_configure.5085
>  for further information)
>
> ERROR: Logfile of failure stored
> in: 
> /home/ccc/poky-second/build/tmp/work/i586-none-linux/binutils-cross-2.21.1a-r0/temp/log.do_configure.5085
>
> Log data follows:
>
> | DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc', 
> | 'bit-64', 'x86_64-linux', 'common']
> | configure.ac:32: error: Please use exactly Autoconf 2.64 instead of
> 2.68.
> | config/override.m4:12: _GCC_AUTOCONF_VERSION_CHECK is expanded
> from...
> | configure.ac:32: the top level
> |
> autom4te: /home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr/bin/m4 
> failed with exit status: 1
> | NOTE:
> Running 
> /home/ccc/poky-second/build/tmp/work/i586-none-linux/binutils-cross-2.21.1a-r0/binutils-2.21.1/configure
>                  --build=x86_64-linux             --host=x86_64-linux         
>     --target=i586-none-linux               
> --prefix=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr            
>   --exec_prefix=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr     
>             
> --bindir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr/bin/i586-none-linux
>                  
> --sbindir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr/bin/i586-none-linux
>                  
> --libexecdir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr/libexec/i586-none-linux
>                  
> --datadir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr/share     
>           
> --sysconfdir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/etc        
>          
> --sharedstatedir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/com    
>           
> --localstatedir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/var     
>          
> --libdir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr/lib/i586-none-linux
>                   
> --includedir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr/include
>                  
> --oldincludedir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr/include
>                
> --infodir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr/share/info
>                  
> --mandir=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux/usr/share/man  
>           --disable-silent-rules                  
> --with-libtool-sysroot=/home/ccc/poky-second/build/tmp/sysroots/x86_64-linux 
> --with-sysroot=/home/ccc/poky-second/build/tmp/sysroots/qemux86               
>   --program-prefix=i586-none-linux-                 --disable-install-libbfd  
>                --disable-werror                 
> --enable-poison-system-directories                  --enable-nls ...
>
> | checking build system type... x86_64-pc-linux-gnu checking host
> system 
> | type... x86_64-pc-linux-gnu checking target system type... 
> | i586-none-linux-gnu checking for a BSD-compatible install... 
> | /usr/bin/install -c checking whether ln works... yes checking
> whether
> | ln -s works... yes checking for a sed that does not truncate
> output... 
> | /bin/sed checking for gawk... gawk checking for x86_64-linux-gcc... 
> | gcc checking for C compiler default output file name...
> | configure: error: in
> `/home/ccc/poky-second/build/tmp/work/i586-none-linux/binutils-cross-2.21.1a-r0/binutils-2.21.1/build.x86_64-linux.i586-none-linux':
> | configure: error: C compiler cannot create executables See 
> | `config.log' for more details
> | ERROR: oe_runconf failed
> | ERROR: Function 'do_configure' failed (see 
> | /home/ccc/poky-second/build/tmp/work/i586-none-linux/binutils-cross-2.
> | 21.1a-r0/temp/log.do_configure.5085 for further information)
> NOTE: package binutils-cross-2.21.1a-r0: task do_configure: Failed


> We can see the toolchain it checked is also the x86_64-linux-gcc , not
> the toolchain I assigned  “EXTERNAL_TOOLCHAIN =
> "/opt/toolchain-be8/armeb-linux-gnueabi"”

This is for the *build* system (i.e. the system you are compiling on) so
its likely correct.

It then goes on to look at the target of "i586-none-linux-gnu" which
sounds wrong given you appear to have an armeb toolchain?

I suspect you need to target a big endian arm machine rather than
MACHINE=qemux86 which I suspect you're currently using?

Cheers,

Richard


_______________________________________________
poky mailing list
p...@yoctoproject.org
https://lists.yoctoproject.org/listinfo/poky

Attachment: external-csl-toolchain_2008q3-72.bb
Description: external-csl-toolchain_2008q3-72.bb

Attachment: tcmode-external-csl2008q3.inc
Description: tcmode-external-csl2008q3.inc

_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to