Hi,

I am trying to create a poky-tiny based image for ARM. This currently
fails in the "do_compile" task of elfutils. As a first attempt I try to
have things as simple as possible. Starting with a clean 7.0 Denzil
in /opt/poky.git on my development system and use a separate build
directory $HOME/poky_build that is created as:

$ cd $HOME/poky_build
$ . /opt/poky.git/oe-init-build-env .

I edit the $HOME/poky_build/conf/local.conf as below:

--- org/conf/local.conf 2012-06-01 10:47:49.215088985 -0700
+++ $HOME/poky_build/conf/local.conf    2012-06-01 11:56:24.930150746 -0700
@@ -48,7 +48,7 @@
 #MACHINE ?= "routerstationpro"
 #
 # This sets the default machine to be qemux86 if no other machine is selected:
-MACHINE ??= "qemux86"
+MACHINE ??= "qemuarm"
 
 #
 # Where to place downloads
@@ -99,7 +99,7 @@ MACHINE ??= "qemux86"
 # Ultimately when creating custom policy, people will likely end up 
subclassing 
 # these defaults.
 #
-DISTRO ?= "poky"
+DISTRO ?= "poky-tiny"
 # As an example of a subclass there is a "bleeding" edge policy configuration
 # where many versions are set to the absolute latest code from the upstream 
 # source control systems. This is just mentioned here as an example, its not
@@ -118,7 +118,7 @@ DISTRO ?= "poky"
 #  - 'package_rpm' for rpm style packages
 # E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
 # We default to rpm:
-PACKAGE_CLASSES ?= "package_rpm"
+PACKAGE_CLASSES ?= "package_ipk"
 
 #
 # SDK/ADT target architecture
@@ -224,3 +224,6 @@ PATCHRESOLVE = "noop"
 # track the version of this file when it was generated. This can safely be 
ignored if
 # this doesn't mean anything to you.
 CONF_VERSION = "1"
+
+#disable usage of ccache
+CCACHE=""

After the above I kick off a build with:

$ bitbake core-image-minimal

As mentioned earlier, the above fails in "do_compile" of elfutils with output 
like:

| arm-poky-linux-gnueabi-ranlib libdw_pic.a
| arm-poky-linux-gnueabi-gcc  -march=armv5te  -marm -mthumb-interwork  
-mtune=arm926ej-s --sysroot=/home/rchatre/poky_build/tmp/sysroots/qemuarm 
-std=gnu99 -Wall -Wshadow -Werror -Wunused -Wextra -fgnu89-inline -Wformat=2    
-O2 -pipe -g -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu 
-Wl,--as-needed -o libdw.so -shared -o libdw.so -Wl,--soname,libdw.so.1,-z,defs 
\
| »------Wl,--enable-new-dtags,-rpath,/usr/lib/elfutils \
| »------Wl,--version-script,libdw.map,--no-undefined \
| »------Wl,--whole-archive libdw_pic.a ../libdwfl/libdwfl_pic.a 
../libebl/libebl.a ../libelf/libelf.so -Wl,--no-whole-archive\
| »------ldl -lbz2 -lz
| ../libdwfl/libdwfl_pic.a(linux-kernel-modules.os): In function 
`dwfl_linux_kernel_report_offline':
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:310:
 undefined reference to `fts_open'
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:320:
 undefined reference to `fts_read'
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:391:
 undefined reference to `fts_close'
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:327:
 undefined reference to `fts_set'
| ../libdwfl/libdwfl_pic.a(linux-kernel-modules.os): In function 
`dwfl_linux_kernel_find_elf':
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:647:
 undefined reference to `fts_open'
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:691:
 undefined reference to `fts_read'
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:691:
 undefined reference to `fts_read'
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:740:
 undefined reference to `fts_close'
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:715:
 undefined reference to `fts_close'
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfuERROR:
 Function failed: do_compile (see 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/temp/log.do_compile.25599
 for further information)
| tils-0.148/libdwfl/linux-kernel-modules.c:698: undefined reference to 
`fts_set'
| ../libdwfl/libdwfl_pic.a(linux-kernel-modules.os): In function 
`check_module_notes':
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:532:
 undefined reference to `fts_open'
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:541:
 undefined reference to `fts_read'
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdwfl/linux-kernel-modules.c:570:
 undefined reference to `fts_close'
| ../libebl/libebl.a(eblwstrtab.o): In function `copystrings':
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libebl/eblwstrtab.c:329:
 undefined reference to `wmempcpy'
| ../libebl/libebl.a(eblwstrtab.o): In function `ebl_wstrtabadd':
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libebl/eblwstrtab.c:249:
 undefined reference to `wcslen'
| ../libebl/libebl.a(eblwstrtab.o): In function `searchstring':
| 
/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libebl/eblwstrtab.c:228:
 undefined reference to `wmemcmp'
| collect2: ld returned 1 exit status
| make[3]: *** [libdw.so] Error 1
| make[3]: Leaving directory 
`/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdw'
| make[2]: *** [all] Error 2
| make[2]: Leaving directory 
`/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148/libdw'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory 
`/home/rchatre/poky_build/tmp/work/armv5te-poky-linux-gnueabi/elfutils-0.148-r7/elfutils-0.148'
| make: *** [all] Error 2
| ERROR: oe_runmake failed

 
I would appreciate any hints on how to build a poky-tiny image for ARM.
I would prefer to build an image that can run in the host's qemu, not
needing yocto to build qemu. It seems that I will have to create a new
machine configuration for that but wanted to see if I can get the
standard items built first, which is giving the problems described
above.

Thank you very much

Reinette

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

Reply via email to