[oe] Error building gcc-cross

martin mangard martin at mangard.at
Tue Jan 5 17:00:10 UTC 2010


hello

I wanna run an application which depends on libstdc++.so.5.   I use
the default x86-machine configuration (i486) of the
"org.openembedded.dev" branch  to build the image. The default
provider for the libstdc++ is in my case "gcc-cross_4.3.4.bb" which
successfully builds "libstdc++.so.6"

I would like to create a  libstdc++ -compatibility package which
provides an additional  binary of the older version of libstdc++.
I started to play with the gcc-cross recipe.   "bitbake -b
gcc-cross_3.4.4.bb"  leaded to the following error.


.
.

| ccache gcc  -DPACKAGE=\"zlib\" -DVERSION=\"1.1.4\" -DHAVE_UNISTD_H=1
-DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_MEMCPY=1 -DHAVE_STRERROR=1
-DHAVE_UNISTD_H=1  -I.
-I/media/disk/mydistro/output_mangard/work/i486-angstrom-linux/gcc-cross-3.4.4-r14.1/gcc-3.4.4/zlib
     -isystem/media/disk/mydistro/output_mangard/staging/i686-linux/usr/include
-O2 -g  -m64 -c
/media/disk/mydistro/output_mangard/work/i486-angstrom-linux/gcc-cross-3.4.4-r14.1/gcc-3.4.4/zlib/adler32.c
| In file included from /usr/include/features.h:354,
|                  from /usr/include/sys/types.h:27,
|                  from
/media/disk/mydistro/output_mangard/work/i486-angstrom-linux/gcc-cross-3.4.4-r14.1/gcc-3.4.4/zlib/zconf.h:239,
|                  from
/media/disk/mydistro/output_mangard/work/i486-angstrom-linux/gcc-cross-3.4.4-r14.1/gcc-3.4.4/zlib/zlib.h:34,
|                  from
/media/disk/mydistro/output_mangard/work/i486-angstrom-linux/gcc-cross-3.4.4-r14.1/gcc-3.4.4/zlib/adler32.c:8:
| /usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: No such file
or directory
| make[3]: *** [adler32.o] Error 1
.
.
.



I disabled  FORTRAN and JAVA which is also disabled for higher
versions of the gcc recipes and this error disappeared but the build
process stopped again with another error :

.
.
.
.
| make[1]: Leaving directory
`/media/disk/mydistro/output_mangard/work/i486-angstrom-linux/gcc-cross-3.4.4-r14.1/gcc-3.4.4/build.i686-linux.i486-angstrom-linux/gcc'
| Checking multilib configuration...
| /bin/sh /media/disk/mydistro/output_mangard/work/i486-angstrom-linux/gcc-cross-3.4.4-r14.1/gcc-3.4.4/mkinstalldirs
i486-angstrom-linux/libstdc++-v3 ; \
| 	rm -f i486-angstrom-linux/libstdc++-v3/Makefile || : ; \
| 	cp multilib.out i486-angstrom-linux/libstdc++-v3/multilib.out
| mkdir -p -- i486-angstrom-linux/libstdc++-v3
| i486-angstrom-linux-gcc: No such file or directory
| i486-angstrom-linux-gcc: No such file or directory
| i486-angstrom-linux-gcc: No such file or directory
| Configuring in i486-angstrom-linux/libstdc++-v3
| configure: creating cache ./config.cache
| checking build system type... i686-pc-linux-gnu
| checking host system type... i486-angstrom-linux-gnu
| checking target system type... i486-angstrom-linux-gnu
| checking for a BSD-compatible install...
/media/disk/mydistro/output_mangard/staging/i686-linux/usr/bin/install
-c
| checking whether build environment is sane... yes
| checking for gawk... gawk
| checking whether make sets $(MAKE)... yes
| checking for i486-angstrom-linux-strip... strip
| checking for i486-angstrom-linux-gcc...  ccache
i486-angstrom-linux-gcc -march=i486 -march=i486
-B/media/disk/mydistro/output_mangard/cross/i486/i486-angstrom-linux/bin/
-B/media/disk/mydistro/output_mangard/cross/i486/i486-angstrom-linux/lib/
-isystem /media/disk/mydistro/output_mangard/cross/i486/i486-angstrom-linux/include
-isystem /media/disk/mydistro/output_mangard/cross/i486/i486-angstrom-linux/sys-include
| checking for suffix of object files... configure: error: cannot
compute suffix of object files: cannot compile
| See `config.log' for more details.
| make: *** [configure-target-libstdc++-v3] Error 1
| FATAL: oe_runmake failed
NOTE: Task failed:
/media/disk/mydistro/output_mangard/work/i486-angstrom-linux/gcc-cross-3.4.4-r14.1/temp/log.do_compile.32390
ERROR: TaskFailed event exception, aborting
ERROR: Build of
/media/disk/mydistro/openembedded/recipes/gcc/gcc-cross_3.4.4.bb
do_compile failed
ERROR: Task 7 (/media/disk/mydistro/openembedded/recipes/gcc/gcc-cross_3.4.4.bb,
do_compile) failed
NOTE: Tasks Summary: Attempted 6 tasks of which 0 didn't need to be
rerun and 1 failed.
ERROR: '/media/disk/mydistro/openembedded/recipes/gcc/gcc-cross_3.4.4.bb' failed
.
.
.
.






This is the content of my actual gcc-cross_3.4.4.bb:
#start
PR = "${INC_PR}.1"
FORTRAN = ""
JAVA=""

require gcc-${PV}.inc
require gcc-cross.inc
require gcc-configure-cross.inc
require gcc-package-cross.inc

#stop

Is there another recipe to build libstdc++.so.5. ?
How can I adapt gcc-cross_3.4.4.bb to fulfill my needs?

Martin




More information about the Openembedded-devel mailing list