sysutils/u-boot-beaglebone-eabi port fails to build

Asked by 6 months ago
Hi Tim sysutils/u-boot-beaglebone-eabi port fails with make install ===> Building for u-boot-beaglebone-eabi-2013.04 (cd /usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04;gmake CROSS_COMPILE=arm-eabi- ) gmake[1]: Entering directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04' for dir in tools examples/standalone examples/api arch/arm/cpu/armv7 ; do gmake -C $dir _depend ; done gcc: not found gmake[2]: Entering directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/tools' gmake[2]: Nothing to be done for `_depend'. gmake[2]: Leaving directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/tools' gmake[2]: Entering directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/examples/standalone' gmake[2]: Nothing to be done for `_depend'. gmake[2]: Leaving directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/examples/standalone' gmake[2]: Entering directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/examples/api' gmake[2]: Nothing to be done for `_depend'. gmake[2]: Leaving directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/examples/api' gmake[2]: Entering directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/arch/arm/cpu/armv7' gmake[2]: Nothing to be done for `_depend'. gmake[2]: Leaving directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/arch/arm/cpu/armv7' gmake -C tools all gcc: not found gmake[2]: Entering directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/tools' gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -include /usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/include/libfdt_env.h -idirafter /usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/include -idirafter /usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/include2 -idirafter /usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/include -I /usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/lib/libfdt -I /usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/tools -DCONFIG_SYS_TEXT_BASE=0x80800000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -o gen_eth_addr.o gen_eth_addr.c -c gcc: not found gmake[2]: *** [gen_eth_addr.o] Error 127 gmake[2]: Leaving directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04/tools' gmake[1]: *** [tools] Error 2 gmake[1]: Leaving directory `/usr/ports/sysutils/u-boot-beaglebone-eabi/work/u-boot-2013.04' *** Error code 2 arm-eabi-gcc is installed, arm-eabi-gcc -v Using built-in specs. COLLECT_GCC=arm-eabi-gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/arm-eabi/4.5.4/lto-wrapper Target: arm-eabi Configured with: ./../gcc-4.5.4/configure --target=arm-eabi --enable-languages=c,c++,objc --datadir=/usr/local/arm-eabi/share --with-system-zlib --disable-nls --without-included_gettext --with-newlib --with-dwarf2 --with-gxx-include-dir=/usr/local/arm-eabi/lib/gcc//include/cxx/ --disable-shared --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/ --build=i386-portbld-freebsd10.0 Thread model: single gcc version 4.5.4 (GCC) System version: FreeBSD xtools 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789 Mahalo, Werner

Your Answer

Name:
Reply:

All Answers

Answer by 6 months ago
Hello Werner, Do you have gcc installed? Part of the u-boot tree compiles tools for the native host, like mkimage etc. I didn't try, but perhaps this works? gmake HOSTCC=clang Which clang version do you have? Regards, Jeroen
Answer by 6 months ago
The following needs to be added to the build commands in the Makefile: HOSTCC=cc As Jeroen pointed out, without this the U-Boot build system tries to use ‘gcc’ unconditionally to build the pieces that run on the build host. Those pieces do not specifically require any GCC-specific features, so they should use ‘cc’ to use whatever native compiler is available. Apologies for this being broken for so long… Not sure when I’ll get back to it… if anyone wants to take over this port, please be my guest. Tim
Answer by 6 months ago
Hi Tim No problem, just thought I follow the recommendation given when crochet.sh starts up. But in the meantime I've another one: installworld fails in mtree with mtree: unknown user `unbound' After some digging I found the thread http://lists.freebsd.org/pipermail/freebsd-current/2013-October/045207.html talking extensively about DB_FROM_SRC, the exchange was triggered by cross building I tried to pass this as -DDB_FROM_SRC in config.sh # You can specify options for both buildworld and installworld: FREEBSD_WORLD_EXTRA_ARGS="-DDB_FROM_SRC" to no avail. The log shows: mtree -deU -f /usr/src/etc/mtree/BSD.var.dist -p /home/wthie/proj/crochet-freebsd/work/_.mount.freebsd/var mtree: unknown user `unbound' mtree: failed at line 96 of the specification The user 'unbound' exists in /etc/passwd as well as in /etc/master.passwd. I'm on FreeBSD xtools 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789 upgraded from 9.2 Mahalo, Werner