I've been trying to build OpenEmbedded for a few days now and I can't get past the do_configure phase of building glibc-intermediate.
| checking for .preinit_array/.init_array/.fini_array support... no | configure: error: Need linker with .init_array/.fini_array support. It seems like this would be a problem with the way binutils-cross was built. The closest thing I found to this being mentioned anywhere in the context of open embedded was this bug: http://projects.linuxtogo.org/pipermail/openembedded-issues/2007-January/001113.html (At least, I think that's the correct link. I can't check as the site is down at the moment.) The symptom is the same but the cause is entirely different as I do not have the MACHINE variable set in my shell environment. I'm trying to build the Angstrom distribution for the AT91SAM9263EK. I tried switching both the distro and machine to other variants (generic distro and i686-generic machine), but the problem still persists. I've been through several different branches including .dev, .stable, and .angstrom-2007.12-stable, always making sure to update to the most recent version as per the GettingStarted wiki page, and am amazed at how nothing I try seems to affect this error. I'm using task-base as the target, but that doesn't make much of a difference. I've also tried wiping out the tree and starting over to make sure a bad configuration didn't persist in the form of a built package dependency. Given that other people have apparently been able to build angstrom for the 9263ek, and I still get this problem when I change machine architectures and distros, I'm at a loss to explain what the problem is. Nor do I know how to debug the OpenEmbedded build process, or even what controls .init_array and .fini_array support in binutils, aside from (somehow) the MACHINE variable. I'm getting that sinking feeling that it could be a real stupid error on my part rather than a problem in the package metadata. (Yesterday I managed to spend over an hour "debugging" bitbake when it couldn't find bitbake.conf, before I realized I had failed to export BBPATH from my .bashrc. That took me down a peg or two, so I'm ready to believe this problem isn't necessarily OE or angstrom's fault ;-) ). >From my most recent build failure: org.openembedded.stable/conf/local.conf: (I didn't use the /build directory as recommended in the wiki but that doesn't seem to affect anything) OE_LOC = "/home/jon/atmel/openembedded/org.openembedded.stable" DL_DIR = "${OE_LOC}/sources" BBFILES="${OE_LOC}/packages/*/*.bb" TMPDIR = "${OE_LOC}/tmp" #MACHINE = "at91sam9263ek" MACHINE = "i686-generic" DISTRO = "angstrom-2007.1" IMAGE_FSTYPES = "jffs2 tar" PROFILE_OPTIMIZATION = "-pg" SELECT_OPTIMIZATION = "${PROFILE_OPTIMIZATION}" LDFLAGS =+ "-pg" [I had this set to += before, don't know if the syntax matters] BBINCLUDELOGS = "yes" #PREFERRED_VERSION_glibc-intermediate = "2.6.1" #TARGOT_OS = "linux-uclibc" The package versions that it happened to use this time around are binutils-cross-2.18-r1 and glibc-initial-2.5-r10. The binutils configure log: NOTE: Running /home/jon/atmel/openembedded/org.openembedded.stable/tmp/work/i686-angstrom-linux/binutils-cross-2.18-r1/binutils-2.18/configure --build=i686-linux --host=i686-linux --target=i686-angstrom-linux --prefix=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross --exec_prefix=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross --bindir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/bin --sbindir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/bin --libexecdir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/libexec --datadir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/share --sysconfdir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/etc --sharedstatedir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/com --localstatedir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/var --libdir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/lib --includedir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/include --oldincludedir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/include --infodir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/share/info --mandir=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/share/man --enable-mainainer-mode --with-sysroot=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/i686-angstrom-linux --program-prefix=i686-angstrom-linux- --enable-install-libbfd --disable-werror ... configure: loading site script /home/jon/atmel/openembedded/org.openembedded.stable/site/endian-little configure: loading site script /home/jon/atmel/openembedded/org.openembedded.stable/site/common-glibc configure: loading site script /home/jon/atmel/openembedded/org.openembedded.stable/site/ix86-common configure: loading site script /home/jon/atmel/openembedded/org.openembedded.stable/site/common configure: loading site script /home/jon/atmel/openembedded/org.openembedded.stable/site/common checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... i686-angstrom-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 i686-linux-gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for i686-linux-g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for i686-linux-gnatbind... no checking for gnatbind... no checking for i686-linux-gnatmake... no checking for gnatmake... no checking whether compiler driver understands Ada... no checking how to compare bootstrapped objects... cmp --ignore-initial=16 $$f1 $$f2 checking for bison... bison -y checking for bison... bison checking for gm4... no checking for gnum4... no checking for m4... m4 checking for flex... flex checking for flex... flex checking for makeinfo... makeinfo checking for expect... no checking for runtest... no checking for ar... (cached) ar checking for i686-linux-ar... (cached) ar checking for as... (cached) as checking for i686-linux-as... (cached) as checking for i686-linux-dlltool... no checking for dlltool... no checking for ld... (cached) ld checking for i686-linux-ld... (cached) ld checking for i686-linux-lipo... no checking for lipo... no checking for nm... (cached) nm checking for i686-linux-nm... (cached) nm checking for ranlib... (cached) ranlib checking for i686-linux-ranlib... (cached) ranlib checking for strip... (cached) strip checking for i686-linux-strip... (cached) strip checking for i686-linux-windres... no checking for windres... no checking for i686-linux-windmc... no checking for windmc... no checking for objcopy... (cached) objcopy checking for i686-linux-objcopy... (cached) objcopy checking for objdump... (cached) objdump checking for i686-linux-objdump... (cached) objdump checking for i686-angstrom-linux-cc... no checking for i686-angstrom-linux-gcc... i686-angstrom-linux-gcc checking for i686-angstrom-linux-c++... no checking for i686-angstrom-linux-g++... no checking for i686-angstrom-linux-cxx... no checking for i686-angstrom-linux-gxx... no checking for i686-angstrom-linux-gcc... i686-angstrom-linux-gcc checking for i686-angstrom-linux-gcj... no checking for i686-angstrom-linux-gfortran... no checking for ar... (cached) i686-angstrom-linux-ar checking for as... (cached) i686-angstrom-linux-as checking for i686-angstrom-linux-dlltool... no checking for ld... (cached) i686-angstrom-linux-ld checking for i686-angstrom-linux-lipo... no checking for nm... (cached) i686-angstrom-linux-nm checking for i686-angstrom-linux-objdump... i686-angstrom-linux-objdump checking for ranlib... (cached) i686-angstrom-linux-ranlib checking for i686-angstrom-linux-strip... i686-angstrom-linux-strip checking for i686-angstrom-linux-windres... no checking for i686-angstrom-linux-windmc... no checking where to find the target ar... just compiled checking where to find the target as... just compiled checking where to find the target cc... pre-installed checking where to find the target c++... pre-installed checking where to find the target c++ for libstdc++... pre-installed checking where to find the target dlltool... just compiled checking where to find the target gcc... pre-installed checking where to find the target gcj... pre-installed checking where to find the target gfortran... pre-installed checking where to find the target ld... just compiled checking where to find the target lipo... pre-installed checking where to find the target nm... just compiled checking where to find the target objdump... just compiled checking where to find the target ranlib... just compiled checking where to find the target strip... just compiled checking where to find the target windres... just compiled checking where to find the target windmc... just compiled checking whether to enable maintainer-specific portions of Makefiles... no checking whether -fkeep-inline-functions is supported... yes configure: creating ./config.status config.status: creating Makefile The glibc (failed) configure log: NOTE: Running /home/jon/atmel/openembedded/org.openembedded.stable/tmp/work/i686-angstrom-linux/glibc-intermediate-2.4-r14/glibc-2.4/configure --build=i686-linux --host=i686-angstrom-linux --target=i686-angstrom-linux --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/usr/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --enable-mainainer-mode --enable-kernel=2.4.0 --without-cvs --disable-profile --disable-debug --without-gd --enable-clocale=gnu --enable-add-ons=nptl,ports --with-headers=/home/jon/atmel/openembedded/org.openembedded.stable/tmp/staging/i686-angstrom-linux/include --without-selinux ... configure: loading site script /home/jon/atmel/openembedded/org.openembedded.stable/site/endian-little configure: loading site script /home/jon/atmel/openembedded/org.openembedded.stable/site/common-glibc configure: loading site script /home/jon/atmel/openembedded/org.openembedded.stable/site/ix86-common configure: loading site script /home/jon/atmel/openembedded/org.openembedded.stable/site/common configure: loading site script /home/jon/atmel/openembedded/org.openembedded.stable/site/common checking build system type... i686-pc-linux-gnu checking host system type... i686-angstrom-linux-gnu configure: running configure fragment for add-on nptl checking add-on ports for preconfigure fragments... am33 arm hppa m68k mips checking sysdep dirs... sysdeps/i386/elf nptl/sysdeps/unix/sysv/linux/i386/i686 nptl/sysdeps/unix/sysv/linux/i386 sysdeps/unix/sysv/linux/i386 nptl/sysdeps/unix/sysv/linux nptl/sysdeps/pthread sysdeps/pthread ports/sysdeps/unix/sysv/linux sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet ports/sysdeps/unix/sysv/i386 sysdeps/unix/sysv/i386 nptl/sysdeps/unix/sysv ports/sysdeps/unix/sysv sysdeps/unix/sysv sysdeps/unix/i386 nptl/sysdeps/unix ports/sysdeps/unix sysdeps/unix sysdeps/posix sysdeps/i386/i686/fpu nptl/sysdeps/i386/i686 sysdeps/i386/i686 sysdeps/i386/i486 nptl/sysdeps/i386/i486 sysdeps/i386/fpu nptl/sysdeps/i386 sysdeps/i386 sysdeps/wordsize-32 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic checking for a BSD-compatible install... /usr/bin/install -c checking whether ln -s works... yes checking for i686-angstrom-linux-gcc... i686-angstrom-linux-gcc -mcpu=pentiumpro checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-angstrom-linux-gcc -mcpu=pentiumpro accepts -g... yes checking for i686-angstrom-linux-gcc -mcpu=pentiumpro option to accept ANSI C... none needed checking for gcc... gcc checking how to run the C preprocessor... i686-angstrom-linux-gcc -E checking for i686-angstrom-linux-g++... i686-angstrom-linux-g++ -mcpu=pentiumpro checking whether we are using the GNU C++ compiler... no checking whether i686-angstrom-linux-g++ -mcpu=pentiumpro accepts -g... no checking whether /home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/lib/gcc/i686-angstrom-linux/4.1.2/../../../../i686-angstrom-linux/bin/as is GNU as... yes checking whether /home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/lib/gcc/i686-angstrom-linux/4.1.2/../../../../i686-angstrom-linux/bin/ld is GNU ld... yes checking for /home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/lib/gcc/i686-angstrom-linux/4.1.2/../../../../i686-angstrom-linux/bin/as... /home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/lib/gcc/i686-angstrom-linux/4.1.2/../../../../i686-angstrom-linux/bin/as checking version of /home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/lib/gcc/i686-angstrom-linux/4.1.2/../../../../i686-angstrom-linux/bin/as... 2.18, ok checking for /home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/lib/gcc/i686-angstrom-linux/4.1.2/../../../../i686-angstrom-linux/bin/ld... /home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/lib/gcc/i686-angstrom-linux/4.1.2/../../../../i686-angstrom-linux/bin/ld checking version of /home/jon/atmel/openembedded/org.openembedded.stable/tmp/cross/lib/gcc/i686-angstrom-linux/4.1.2/../../../../i686-angstrom-linux/bin/ld... 2.18, ok checking for pwd... /bin/pwd checking for i686-angstrom-linux-gcc... (cached) i686-angstrom-linux-gcc -mcpu=pentiumpro checking version of i686-angstrom-linux-gcc -mcpu=pentiumpro... 4.1.2, ok checking for gnumake... make checking version of make... 3.81, ok checking for gnumsgfmt... no checking for gmsgfmt... no checking for msgfmt... msgfmt checking version of msgfmt... 0.14.1, ok checking for makeinfo... makeinfo checking version of makeinfo... 4.8, ok checking for sed... sed checking version of sed... 4.1.5, ok checking for autoconf... autoconf checking whether autoconf works... yes checking whether ranlib is necessary... `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. no checking LD_LIBRARY_PATH variable... ok checking whether GCC supports -static-libgcc... -static-libgcc checking for bash... /bin/sh checking for gawk... gawk checking for perl... /usr/bin/perl checking for install-info... /usr/sbin/install-info checking for bison... /home/jon/atmel/openembedded/org.openembedded.stable/tmp/staging/i686-linux/bin/bison checking for signed size_t type... no checking for libc-friendly stddef.h... yes checking whether we need to use -P to assemble .S files... no checking whether .text pseudo-op must be used... yes checking for assembler global-symbol directive... .globl checking for .set assembler directive... no checking for assembler .type directive prefix... @ checking for .symver assembler directive... yes checking for ld --version-script... yes checking for .previous assembler directive... yes checking for .protected and .hidden assembler directive... yes checking whether __attribute__((visibility())) is supported... yes checking for broken __attribute__((visibility()))... no checking for broken __attribute__((alias()))... no checking whether to put _rtld_local into .sdata section... no checking for i686-angstrom-linux-readelf... i686-angstrom-linux-readelf checking for .preinit_array/.init_array/.fini_array support... no configure: error: Need linker with .init_array/.fini_array support. FATAL: oe_runconf failed Thanks, Jon _______________________________________________ Openembedded-users mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-users
