Build turris omnia error on base-files

Hi All
I try to rebuild turris os from github with the steps below:

OS - Ubuntu 16.04.1
step 1.

sudo apt-get update
sudo apt-get install git-core build-essential libssl-dev libncurses5-dev unzip gawk
sudo apt-get install subversion mercurial

step 2.

git clone https://gitlab.labs.nic.cz/turris/openwrt.git
or git clone https://github.com/CZ-NIC/turris-os.git

step 3.

./scripts/feeds update -a

step 4.

./scripts/feeds install -a

step 5.

make menuconfig, and change only two options below.
Target System - Marvel Amada 37x/38x/XP
Target Profile - Turris Omnia

step 6.

make

Result - failed, error log is listed below, anyone can hope me to fix this issue ? Thanks

mkdir -p /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/root-mvebu/stamp /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/root-mvebu/tmp-usign
install -d -m0755 /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/root-mvebu/tmp-usign/usr/bin
install -m0755 /home/jinn/turris-os/build_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/usign-2015-05-08/ipkg-install/usr/bin/usign /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/root-mvebu/tmp-usign/usr/bin
ln -s usign /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/root-mvebu/tmp-usign/usr/bin/signify
SHELL= flock /home/jinn/turris-os/tmp/.root-copy.flock -c ‘cp -fpR /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/root-mvebu/tmp-usign/. /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/root-mvebu/’
rm -rf /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/root-mvebu/tmp-usign
touch /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/root-mvebu/stamp/.usign_installed
if [ -f /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/pkginfo/usign.default.install.clean ]; then rm -f /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/pkginfo/usign.default.install /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/pkginfo/usign.default.install.clean; fi; echo “usign” >> /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/pkginfo/usign.default.install
make[3]: Leaving directory ‘/home/jinn/turris-os/package/system/usign’
make[3]: Entering directory ‘/home/jinn/turris-os/package/base-files’
rm -f /home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/stamp/.base-files_installed
[ -s /home/jinn/turris-os/key-build -a -s /home/jinn/turris-os/key-build.pub ]
Makefile:190: recipe for target ‘/home/jinn/turris-os/build_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/linux-mvebu/base-files/.configured_yyyyyyyyyyy’ failed
make[3]: *** [/home/jinn/turris-os/build_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/linux-mvebu/base-files/.configured_yyyyyyyyyyy] Error 1
make[3]: Leaving directory ‘/home/jinn/turris-os/package/base-files’
package/Makefile:193: recipe for target ‘package/base-files/compile’ failed
make[2]: *** [package/base-files/compile] Error 2
make[2]: Leaving directory ‘/home/jinn/turris-os’
package/Makefile:190: recipe for target ‘/home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/stamp/.package_compile’ failed
make[1]: *** [/home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory ‘/home/jinn/turris-os’
/home/jinn/turris-os/include/toplevel.mk:181: recipe for target ‘world’ failed

it needs to setup signing key

Try using compile_omnia_fw script. If it works with it, compare the script with your manual steps.

This is fixed in test branch - originally required to have manually created keys, now it creates them if they are not present. Or you can disable package signing.

@miska

Thanks your efforts. I create keys for building, it pass base-files compile.
However, i got another error about busybox, the error message is:

Output of:
arm-openwrt-linux-uclibcgnueabi-gcc -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wno-format-security -Wdeclaration-after-statement -Wold-style-definition -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1 -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-builtin-printf -Os -static -o busybox_unstripped -Wl,–start-group applets/built-in.o archival/lib.a archival/libarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a mailutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a printutils/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a util-linux/volume_id/lib.a archival/built-in.o archival/libarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o mailutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o printutils/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o util-linux/volume_id/built-in.o -Wl,–end-group -Wl,–start-group -Wl,–end-group

/home/jinn/turris-os/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/…/…/…/…/arm-openwrt-linux-uclibcgnueabi/lib/libc.a(sigrestorer.os):(.ARM.exidx+0x0): undefined reference to __aeabi_unwind_cpp_pr1' /home/jinn/turris-os/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/lib/libc.a(waitpid.os):(.ARM.exidx.text.__libc_waitpid+0x0): undefined reference to __aeabi_unwind_cpp_pr0’
/home/jinn/turris-os/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/…/…/…/…/arm-openwrt-linux-uclibcgnueabi/lib/libc.a(wait.os):(.ARM.exidx.text.__libc_wait+0x0): undefined reference to __aeabi_unwind_cpp_pr1' /home/jinn/turris-os/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/lib/libc.a(close.os):(.ARM.exidx+0x0): undefined reference to __aeabi_unwind_cpp_pr0’
/home/jinn/turris-os/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/…/…/…/…/arm-openwrt-linux-uclibcgnueabi/lib/libc.a(open.os):(.ARM.exidx+0x0): undefined reference to __aeabi_unwind_cpp_pr0' /home/jinn/turris-os/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/lib/libc.a(write.os):(.ARM.exidx+0x0): undefined reference to __aeabi_unwind_cpp_pr0’
/home/jinn/turris-os/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/…/…/…/…/arm-openwrt-linux-uclibcgnueabi/lib/libc.a(read.os):(.ARM.exidx+0x0): undefined reference to __aeabi_unwind_cpp_pr0' /home/jinn/turris-os/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/lib/libc.a(libc-cancellation.os):(.ARM.exidx.text.__libc_enable_asynccancel+0x0): undefined reference to __aeabi_unwind_cpp_pr1’
/home/jinn/turris-os/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/…/…/…/…/arm-openwrt-linux-uclibcgnueabi/lib/libc.a(libc-cancellation.os):(.ARM.exidx.text.__libc_disable_asynccancel+0x0): undefined reference to `__aeabi_unwind_cpp_pr0’
collect2: error: ld returned 1 exit status
Note: if build needs additional libraries, put them in CONFIG_EXTRA_LDLIBS.
Example: CONFIG_EXTRA_LDLIBS=“pthread dl tirpc audit pam”
Makefile:717: recipe for target ‘busybox_unstripped’ failed
make[4]: *** [busybox_unstripped] Error 1
make[4]: Leaving directory ‘/home/jinn/turris-os/build_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/busybox-1.25.1’
Makefile:174: recipe for target ‘/home/jinn/turris-os/build_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/busybox-1.25.1/.built’ failed
make[3]: *** [/home/jinn/turris-os/build_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/busybox-1.25.1/.built] Error 2
make[3]: Leaving directory ‘/home/jinn/turris-os/package/utils/busybox’
package/Makefile:193: recipe for target ‘package/utils/busybox/compile’ failed
make[2]: *** [package/utils/busybox/compile] Error 2
make[2]: Leaving directory ‘/home/jinn/turris-os’
package/Makefile:190: recipe for target ‘/home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/stamp/.package_compile’ failed
make[1]: *** [/home/jinn/turris-os/staging_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory ‘/home/jinn/turris-os’
/home/jinn/turris-os/include/toplevel.mk:181: recipe for target ‘world’ failed
make: *** [world] Error 2

I think it causes by “busybox-static”, so I remove related content from Makefile and it pass the building. However, I want to know, if I want support busybox-static, how to fix this issue?
Any hints are welcome, thanks

@Ondrej_Caletka thanks your suggestion, I try it and get failed. That’s why i use menuconfig to build system.

Just a hint, we are using musl on Omnia, looks like you are using uClibc, use compile_fw omnia, that will get you all feeds, patches and correct configuration.

@miska even I use musl without any change, it still get compile error about libnl-tiny. it seems the version on git still has bugs need to fix. Anyway, thanks your support.

But not about the busybox :slight_smile: Yes, some configuration combinations are broken. Sometimes you need to have correct version of something in your system.

Hello.
I have the same problem:
http://pastebin.com/19wuTa2Y
http://pastebin.com/jM97ArRX