All of lore.kernel.org
 help / color / mirror / Atom feed
* The problem of using the external toolchain
@ 2012-03-31  9:55 Wangdawei (Sivan)
  2012-03-31 15:44 ` Richard Purdie
  0 siblings, 1 reply; 9+ messages in thread
From: Wangdawei (Sivan) @ 2012-03-31  9:55 UTC (permalink / raw)
  To: poky@yoctoproject.org


[-- Attachment #1.1: Type: text/plain, Size: 5232 bytes --]

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<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

ERROR: Task 787 (/home/ccc/poky-second/meta/recipes-devtools/binutils/binutils-cross_2.21.1a.bb, do_configure) failed with exit code '1'

ERROR: '/home/ccc/poky-second/meta/recipes-devtools/binutils/binutils-cross_2.21.1a.bb' 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""

Did the poky support the binary toolchain but the source code ?How can I finish this work ? Did anyone face the same problem ?


Best Regards

kyle sivan
Huawei Technologies Co., Ltd.
cell phone: +86-18665326540
(Office) 755-28384488
sivan.wang@huawei.com<mailto:sivan.wang@huawei.com>
[cid:image002.png@01CD0F67.6BDCE820]


[-- Attachment #1.2: Type: text/html, Size: 15929 bytes --]

[-- Attachment #2: image002.png --]
[-- Type: image/png, Size: 6069 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: The problem of using the external toolchain
  2012-03-31  9:55 The problem of using the external toolchain Wangdawei (Sivan)
@ 2012-03-31 15:44 ` Richard Purdie
  2012-04-01  2:33   ` Wangdawei (Sivan)
  0 siblings, 1 reply; 9+ messages in thread
From: Richard Purdie @ 2012-03-31 15:44 UTC (permalink / raw)
  To: Wangdawei (Sivan); +Cc: poky@yoctoproject.org

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




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: The problem of using the external toolchain
  2012-03-31 15:44 ` Richard Purdie
@ 2012-04-01  2:33   ` Wangdawei (Sivan)
  2012-04-07  5:58     ` Khem Raj
  0 siblings, 1 reply; 9+ messages in thread
From: Wangdawei (Sivan) @ 2012-04-01  2:33 UTC (permalink / raw)
  To: Richard Purdie
  Cc: Sanil kumar, v71149@notesmail.huawei.com,
	Venkata ramana gollamudi, c00197859@notesmial.huawei.com,
	s00900579@notesmail.huawei.com, poky@yoctoproject.org

Hi Richard,
	Yes, you are right , 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$

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.purdie@linuxfoundation.org] 
Sent: 2012年3月31日 23:44
To: Wangdawei (Sivan)
Cc: poky@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



^ permalink raw reply	[flat|nested] 9+ messages in thread

* The problem of using the external toolchain
@ 2012-04-05  3:15 Wangdawei (Sivan)
  2012-04-05  3:23 ` Chris Larson
  0 siblings, 1 reply; 9+ messages in thread
From: Wangdawei (Sivan) @ 2012-04-05  3:15 UTC (permalink / raw)
  To: poky@yoctoproject.org, yocto@yoctoproject.org

[-- Attachment #1: Type: text/plain, Size: 12752 bytes --]

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.purdie@linuxfoundation.org] 
Sent: 2012年3月31日 23:44
To: Wangdawei (Sivan)
Cc: poky@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
poky@yoctoproject.org
https://lists.yoctoproject.org/listinfo/poky

[-- Attachment #2: external-csl-toolchain_2008q3-72.bb --]
[-- Type: application/octet-stream, Size: 2353 bytes --]

INHIBIT_DEFAULT_DEPS = "1"

# License applies to this recipe code, not the toolchain itself
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PROVIDES = "\
	linux-libc-headers \
	virtual/armeb-linux-gnueabi-gcc \
	virtual/armeb-linux-gnueabi-g++ \
	virtual/armeb-linux-gnueabi-gcc-initial \
	virtual/armeb-linux-gnueabi-gcc-intermediate \
	virtual/armeb-linux-gnueabi-binutils \
	virtual/libintl \
	glibc-thread-db \
	virtual/linux-libc-headers "
RPROVIDES = "glibc-utils libsegfault glibc-thread-db gettext"
#PREFERRED_VERSION_binutils ?= "csl-arm-2008q1"
#PREFERRED_VERSION_binutils-cross ?= "csl-arm-2008q1"
PACKAGES_DYNAMIC = "glibc-gconv-*"
PR = "r1"

#SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-${PV}-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2"


SRC_URI = "file://gcc-4.4.1.tar.bz2\
	file://glibc-2.11.tar.bz2"

do_install() {
	echo "EXTERNAL_TOOLCHAIN is ${EXTERNAL_TOOLCHAIN}"
	install -d ${D}${sysconfdir} ${D}${bindir} ${D}${sbindir} ${D}${base_bindir} ${D}${libdir}
	install -d ${D}${base_libdir} ${D}${base_sbindir} ${D}${datadir}

	cp -a ${EXTERNAL_TOOLCHAIN}/armeb-linux-gnueabi/libc/lib/*  ${D}${base_libdir}
	cp -a ${EXTERNAL_TOOLCHAIN}/armeb-linux-gnueabi/libc/etc/*  ${D}${sysconfdir}
	cp -a ${EXTERNAL_TOOLCHAIN}/armeb-linux-gnueabi/libc/sbin/* ${D}${base_sbindir}
	cp -a ${EXTERNAL_TOOLCHAIN}/armeb-linux-gnueabi/libc/usr/*  ${D}/usr

	sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
	sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libpthread.so
}

GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "compile"

FILES_gcc = "/opt/toolchain-be8/armeb-linux-gnueabi/gcc"

#inherit libc-common
#inherit libc-package

PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers"
FILES_libgcc = "${base_libdir}/libgcc_s.so.1"
FILES_libgcc-dev = "${base_libdir}/libgcc_s.so"
FILES_libstdc++ = "${libdir}/libstdc++.so.*"
FILES_libstdc++-dev = "${includedir}/c++/${PV} \
	${libdir}/libstdc++.so \
	${libdir}/libstdc++.la \
	${libdir}/libstdc++.a \
	${libdir}/libsupc++.la \
	${libdir}/libsupc++.a"
FILES_linux-libc-headers = "${includedir}/asm* \
	${includedir}/linux \
	${includedir}/mtd \
	${includedir}/rdma \
	${includedir}/scsi \
	${includedir}/sound \
	${includedir}/video \
"


[-- Attachment #3: tcmode-external-csl2008q3.inc --]
[-- Type: application/octet-stream, Size: 1308 bytes --]

#
# Configuration to use external CSL 2008q3-72 toolchain (ARM EABI)
#

TARGET_VENDOR = "-none"

EXTERNAL_TOOLCHAIN = "/opt/toolchain-be8"

PATH =. ":${EXTERNAL_TOOLCHAIN}/bin:"

PREFERRED_PROVIDER_linux-libc-headers = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/armeb-linux-gnueabi-gcc = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/armeb-linux-gnueabi-gcc-initial = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/armeb-linux-gnueabi-gcc-intermediate = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/armeb-linux-gnueabi-binutils = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/armeb-linux-gnueabi-libc-for-gcc = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/libc = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/libintl = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/libiconv = "external-csl-toolchain"
PREFERRED_PROVIDER_glibc-thread-db = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-csl-toolchain"

PREFERRED_VERSION_external-csl-toolchain = "2008q3-72"

TARGET_CPPFLAGS_prepend = " -isystem${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/include "
TARGET_LDFLAGS_prepend = " -L${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib -Wl,-rpath-link,${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib "

TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_HOST}"

^ permalink raw reply	[flat|nested] 9+ messages in thread

* The problem of using the external toolchain
@ 2012-04-05  3:19 Wangdawei (Sivan)
  0 siblings, 0 replies; 9+ messages in thread
From: Wangdawei (Sivan) @ 2012-04-05  3:19 UTC (permalink / raw)
  To: yocto@yoctoproject.org

[-- Attachment #1: Type: text/plain, Size: 12808 bytes --]


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/extern
| al-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-toolch
| ain-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/gc
| c-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.purdie@linuxfoundation.org]
Sent: 2012年3月31日 23:44
To: Wangdawei (Sivan)
Cc: poky@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
poky@yoctoproject.org
https://lists.yoctoproject.org/listinfo/poky

[-- Attachment #2: external-csl-toolchain_2008q3-72.bb --]
[-- Type: application/octet-stream, Size: 2353 bytes --]

INHIBIT_DEFAULT_DEPS = "1"

# License applies to this recipe code, not the toolchain itself
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PROVIDES = "\
	linux-libc-headers \
	virtual/armeb-linux-gnueabi-gcc \
	virtual/armeb-linux-gnueabi-g++ \
	virtual/armeb-linux-gnueabi-gcc-initial \
	virtual/armeb-linux-gnueabi-gcc-intermediate \
	virtual/armeb-linux-gnueabi-binutils \
	virtual/libintl \
	glibc-thread-db \
	virtual/linux-libc-headers "
RPROVIDES = "glibc-utils libsegfault glibc-thread-db gettext"
#PREFERRED_VERSION_binutils ?= "csl-arm-2008q1"
#PREFERRED_VERSION_binutils-cross ?= "csl-arm-2008q1"
PACKAGES_DYNAMIC = "glibc-gconv-*"
PR = "r1"

#SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-${PV}-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2"


SRC_URI = "file://gcc-4.4.1.tar.bz2\
	file://glibc-2.11.tar.bz2"

do_install() {
	echo "EXTERNAL_TOOLCHAIN is ${EXTERNAL_TOOLCHAIN}"
	install -d ${D}${sysconfdir} ${D}${bindir} ${D}${sbindir} ${D}${base_bindir} ${D}${libdir}
	install -d ${D}${base_libdir} ${D}${base_sbindir} ${D}${datadir}

	cp -a ${EXTERNAL_TOOLCHAIN}/armeb-linux-gnueabi/libc/lib/*  ${D}${base_libdir}
	cp -a ${EXTERNAL_TOOLCHAIN}/armeb-linux-gnueabi/libc/etc/*  ${D}${sysconfdir}
	cp -a ${EXTERNAL_TOOLCHAIN}/armeb-linux-gnueabi/libc/sbin/* ${D}${base_sbindir}
	cp -a ${EXTERNAL_TOOLCHAIN}/armeb-linux-gnueabi/libc/usr/*  ${D}/usr

	sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
	sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libpthread.so
}

GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "compile"

FILES_gcc = "/opt/toolchain-be8/armeb-linux-gnueabi/gcc"

#inherit libc-common
#inherit libc-package

PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers"
FILES_libgcc = "${base_libdir}/libgcc_s.so.1"
FILES_libgcc-dev = "${base_libdir}/libgcc_s.so"
FILES_libstdc++ = "${libdir}/libstdc++.so.*"
FILES_libstdc++-dev = "${includedir}/c++/${PV} \
	${libdir}/libstdc++.so \
	${libdir}/libstdc++.la \
	${libdir}/libstdc++.a \
	${libdir}/libsupc++.la \
	${libdir}/libsupc++.a"
FILES_linux-libc-headers = "${includedir}/asm* \
	${includedir}/linux \
	${includedir}/mtd \
	${includedir}/rdma \
	${includedir}/scsi \
	${includedir}/sound \
	${includedir}/video \
"


[-- Attachment #3: tcmode-external-csl2008q3.inc --]
[-- Type: application/octet-stream, Size: 1308 bytes --]

#
# Configuration to use external CSL 2008q3-72 toolchain (ARM EABI)
#

TARGET_VENDOR = "-none"

EXTERNAL_TOOLCHAIN = "/opt/toolchain-be8"

PATH =. ":${EXTERNAL_TOOLCHAIN}/bin:"

PREFERRED_PROVIDER_linux-libc-headers = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/armeb-linux-gnueabi-gcc = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/armeb-linux-gnueabi-gcc-initial = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/armeb-linux-gnueabi-gcc-intermediate = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/armeb-linux-gnueabi-binutils = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/armeb-linux-gnueabi-libc-for-gcc = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/libc = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/libintl = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/libiconv = "external-csl-toolchain"
PREFERRED_PROVIDER_glibc-thread-db = "external-csl-toolchain"
PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-csl-toolchain"

PREFERRED_VERSION_external-csl-toolchain = "2008q3-72"

TARGET_CPPFLAGS_prepend = " -isystem${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/include "
TARGET_LDFLAGS_prepend = " -L${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib -Wl,-rpath-link,${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib "

TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_HOST}"

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: The problem of using the external toolchain
  2012-04-05  3:15 Wangdawei (Sivan)
@ 2012-04-05  3:23 ` Chris Larson
  2012-04-05  3:36   ` Wangdawei (Sivan)
  0 siblings, 1 reply; 9+ messages in thread
From: Chris Larson @ 2012-04-05  3:23 UTC (permalink / raw)
  To: Wangdawei (Sivan); +Cc: yocto@yoctoproject.org, poky@yoctoproject.org

On Wed, Apr 4, 2012 at 8:15 PM, Wangdawei (Sivan) <sivan.wang@huawei.com> wrote:
>  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 :


I assume this is with the edison branch?
-- 
Christopher Larson


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: The problem of using the external toolchain
  2012-04-05  3:23 ` Chris Larson
@ 2012-04-05  3:36   ` Wangdawei (Sivan)
  0 siblings, 0 replies; 9+ messages in thread
From: Wangdawei (Sivan) @ 2012-04-05  3:36 UTC (permalink / raw)
  To: Chris Larson; +Cc: yocto@yoctoproject.org, poky@yoctoproject.org

Yes , edison-6.0 , is it some problem ?

-----Original Message-----
From: kergoth@gmail.com [mailto:kergoth@gmail.com] On Behalf Of Chris Larson
Sent: 2012年4月5日 11:24
To: Wangdawei (Sivan)
Cc: poky@yoctoproject.org; yocto@yoctoproject.org
Subject: Re: [poky] The problem of using the external toolchain

On Wed, Apr 4, 2012 at 8:15 PM, Wangdawei (Sivan) <sivan.wang@huawei.com> wrote:
>  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 :


I assume this is with the edison branch?
-- 
Christopher Larson

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: The problem of using the external toolchain
  2012-04-01  2:33   ` Wangdawei (Sivan)
@ 2012-04-07  5:58     ` Khem Raj
  2012-04-09 13:59       ` Wangdawei (Sivan)
  0 siblings, 1 reply; 9+ messages in thread
From: Khem Raj @ 2012-04-07  5:58 UTC (permalink / raw)
  To: Wangdawei (Sivan)
  Cc: Sanil kumar, s00900579@notesmail.huawei.com,
	v71149@notesmail.huawei.com, Venkata ramana gollamudi,
	c00197859@notesmial.huawei.com, poky@yoctoproject.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03/31/2012 07:33 PM, Wangdawei (Sivan) wrote:
> Hi Richard, Yes, you are right , 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$
> 
> 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 ?
> 

You seem to be mixing two things. external toolchain is used when you
have binary toolchains that you want to use and not _compile_ a
toolchain you seem to be injecting source of gcc which tells me that
you want to build a different toolchain which is using gcc-4.4.1 sources

in such a case you should add normal recipes for 4.4.1 and then choose
this compiler in your preferences.

> 
> 
> -----Original Message----- From: Richard Purdie
> [mailto:richard.purdie@linuxfoundation.org] Sent: 2012年3月31日 23:44 
> To: Wangdawei (Sivan) Cc: poky@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 
> poky@yoctoproject.org https://lists.yoctoproject.org/listinfo/poky

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk9/144ACgkQuwUzVZGdMxTc0gCghl9+cEPymm80vQ+6HwzQhq/6
7eoAnRASSP0c90ZiqOS+D5HR8y4S4XTI
=VO6V
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: The problem of using the external toolchain
  2012-04-07  5:58     ` Khem Raj
@ 2012-04-09 13:59       ` Wangdawei (Sivan)
  0 siblings, 0 replies; 9+ messages in thread
From: Wangdawei (Sivan) @ 2012-04-09 13:59 UTC (permalink / raw)
  To: Khem Raj; +Cc: poky@yoctoproject.org

Yes, I want to use a binary toolchain, and I don't want to compile it , so what need I to do ?

-----Original Message-----
From: Khem Raj [mailto:raj.khem@gmail.com] 
Sent: 2012年4月7日 13:59
To: Wangdawei (Sivan)
Cc: Richard Purdie; Sanil kumar; v71149@notesmail.huawei.com; Venkata ramana gollamudi; c00197859@notesmial.huawei.com; s00900579@notesmail.huawei.com; poky@yoctoproject.org
Subject: Re: [poky] The problem of using the external toolchain

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03/31/2012 07:33 PM, Wangdawei (Sivan) wrote:
> Hi Richard, Yes, you are right , 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$
> 
> 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 ?
> 

You seem to be mixing two things. external toolchain is used when you
have binary toolchains that you want to use and not _compile_ a
toolchain you seem to be injecting source of gcc which tells me that
you want to build a different toolchain which is using gcc-4.4.1 sources

in such a case you should add normal recipes for 4.4.1 and then choose
this compiler in your preferences.

> 
> 
> -----Original Message----- From: Richard Purdie
> [mailto:richard.purdie@linuxfoundation.org] Sent: 2012年3月31日 23:44 
> To: Wangdawei (Sivan) Cc: poky@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 
> poky@yoctoproject.org https://lists.yoctoproject.org/listinfo/poky

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk9/144ACgkQuwUzVZGdMxTc0gCghl9+cEPymm80vQ+6HwzQhq/6
7eoAnRASSP0c90ZiqOS+D5HR8y4S4XTI
=VO6V
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-04-09 14:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-31  9:55 The problem of using the external toolchain Wangdawei (Sivan)
2012-03-31 15:44 ` Richard Purdie
2012-04-01  2:33   ` Wangdawei (Sivan)
2012-04-07  5:58     ` Khem Raj
2012-04-09 13:59       ` Wangdawei (Sivan)
  -- strict thread matches above, loose matches on Subject: below --
2012-04-05  3:15 Wangdawei (Sivan)
2012-04-05  3:23 ` Chris Larson
2012-04-05  3:36   ` Wangdawei (Sivan)
2012-04-05  3:19 Wangdawei (Sivan)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.