OpenWrt Forum Archive

Topic: GCC-5.3 Build with GO language, can not find crti.o crt1.o

The content of this topic has been archived on 12 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

gccgo -B/mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02-final/./gcc/ -Os -pipe -mno-branch-likely -mips32r2 -mtune=1004kc -mdsp -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float   -L ../mipsel-openwrt-linux-uclibc/libgo -L ../mipsel-openwrt-linux-uclibc/libgo/.libs -L/mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/staging_dir/target-mipsel_1004kc+dsp_uClibc-1.0.12/usr/lib -L/mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/staging_dir/target-mipsel_1004kc+dsp_uClibc-1.0.12/lib -L/mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/staging_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/usr/lib -L/mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/staging_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/lib -o go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/build.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/clean.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/context.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/discovery.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/env.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/fix.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/fmt.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/generate.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/get.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/go11.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/help.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/http.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/list.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/main.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/pkg.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/run.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/signal.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/signal_unix.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/test.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/testflag.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/tool.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/vcs.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/version.go /mnt/sdb/home/tymon/openwrt/git/pandorabox/14.09/mtk/mt7621-9395ae/build_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/gcc-linaro-5.3-2016.02/gotools/../libgo/go/cmd/go/vet.go ../mipsel-openwrt-linux-uclibc/libgo/zstdpkglist.go zdefaultcc.go

cannot find crt1.o: No such file or directory
/mnt/sdb/home/tymon/openwrt/git/14.07/mtk/mt7621-9395ae/staging_dir/toolchain-mipsel_1004kc+dsp_gcc-5.3-linaro_uClibc-1.0.12/mipsel-openwrt-linux-uclibc/bin/ld:

cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status

(Last edited by banglang.huang on 9 May 2016, 03:22)

I had tried the approached searched by google and stackoverflow, including modify the LIBRARY_PATH in ~/.bashrc file, but had no effect.

diff --git a/toolchain/gcc/final/Makefile b/toolchain/gcc/final/Makefile
--- a/toolchain/gcc/final/Makefile
+++ b/toolchain/gcc/final/Makefile
@@ -21,6 +21,16 @@ ifneq ($(CONFIG_SJLJ_EXCEPTIONS),)
  --enable-sjlj-exceptions
endif

+define FixToolchainGcc5
+ # Fixup links if using glibc
+ $(if $(CONFIG_USE_GLIBC), $(if $(CONFIG_GCC_VERSION_5), (\
+ mkdir -p $(GCC_BUILD_DIR)/gotools; \
+ ln -sf $(GCC_BUILD_DIR)/../$(CONFIG_LIBC)-dev/lib/crti.o
$(GCC_BUILD_DIR)/gotools/crti.o; \
+ ln -sf $(GCC_BUILD_DIR)/../$(CONFIG_LIBC)-dev/lib/crt1.o
$(GCC_BUILD_DIR)/gotools/crt1.o; \
+ ln -sf $(GCC_BUILD_DIR)/../$(CONFIG_LIBC)-dev/lib/crtn.o
$(GCC_BUILD_DIR)/gotools/crtn.o; \
+ )))
+endef
+
define CleanupToolchain
  $(INSTALL_DIR) $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)
  # Important!  Required for limits.h to be fixed.
@@ -40,6 +50,7 @@ define Host/Configure
endef

define Host/Compile
+ $(FixToolchainGcc5)
  +$(GCC_MAKE) $(HOST_JOBS) -C $(GCC_BUILD_DIR) all
endef

I can't even built the gcc-5.3 toolchains for OXNAS platform. So, I moved on with LEDE and encountered the same problem as shown below for LEDE (which is the OpenWRT spin off).

make[6]: Entering directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/arm-openwrt-linux-muslgnueabi/boehm-gc'
depbase=`echo os_dep.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
    /bin/bash ./libtool --tag=CC   --mode=compile /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/xgcc -B/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/bin/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/lib/ -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/include -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/sys-include    -DHAVE_CONFIG_H -I. -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc -I./include  -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include  -fexceptions -Iinclude -I././targ-include -I.//libc/include  -Os -pipe -march=armv6k -mtune=mpcore -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft  -MT os_dep.lo -MD -MP -MF $depbase.Tpo -c -o os_dep.lo /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c &&\
    mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/xgcc -B/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/bin/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/lib/ -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/include -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/sys-include -DHAVE_CONFIG_H -I. -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc -I./include -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include -fexceptions -Iinclude -I././targ-include -I.//libc/include -Os -pipe -march=armv6k -mtune=mpcore -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -MT os_dep.lo -MD -MP -MF .deps/os_dep.Tpo -c /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c  -fPIC -DPIC -o .libs/os_dep.o
In file included from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c:44:0:
/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/include/asm/sigcontext.h:9:8: error: redefinition of 'struct sigcontext'
 struct sigcontext {
        ^
In file included from /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/include/signal.h:48:0,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include/private/../gc_pthread_redirects.h:50,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include/private/../gc.h:926,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include/private/gc_priv.h:50,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c:17:
/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/include/bits/signal.h:11:16: note: originally defined here
 typedef struct sigcontext
                ^
make[6]: *** [os_dep.lo] Error 1
make[6]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/arm-openwrt-linux-muslgnueabi/boehm-gc'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/arm-openwrt-linux-muslgnueabi/boehm-gc'
make[4]: *** [all-target-boehm-gc] Error 2
make[4]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final'
make[2]: *** [/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/.built] Error 2
make[2]: Leaving directory `/opt/LEDE_git/toolchain/gcc/final'
make[1]: *** [toolchain/gcc/final/compile] Error 2
make[1]: Leaving directory `/opt/LEDE_git'
make: *** [toolchain/gcc/final/compile] Error 2
mazilo wrote:

I can't even built the gcc-5.3 toolchains for OXNAS platform. So, I moved on with LEDE and encountered the same problem as shown below for LEDE (which is the OpenWRT spin off).

make[6]: Entering directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/arm-openwrt-linux-muslgnueabi/boehm-gc'
depbase=`echo os_dep.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
    /bin/bash ./libtool --tag=CC   --mode=compile /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/xgcc -B/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/bin/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/lib/ -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/include -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/sys-include    -DHAVE_CONFIG_H -I. -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc -I./include  -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include  -fexceptions -Iinclude -I././targ-include -I.//libc/include  -Os -pipe -march=armv6k -mtune=mpcore -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft  -MT os_dep.lo -MD -MP -MF $depbase.Tpo -c -o os_dep.lo /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c &&\
    mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/xgcc -B/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/bin/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/lib/ -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/include -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/sys-include -DHAVE_CONFIG_H -I. -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc -I./include -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include -fexceptions -Iinclude -I././targ-include -I.//libc/include -Os -pipe -march=armv6k -mtune=mpcore -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -MT os_dep.lo -MD -MP -MF .deps/os_dep.Tpo -c /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c  -fPIC -DPIC -o .libs/os_dep.o
In file included from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c:44:0:
/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/include/asm/sigcontext.h:9:8: error: redefinition of 'struct sigcontext'
 struct sigcontext {
        ^
In file included from /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/include/signal.h:48:0,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include/private/../gc_pthread_redirects.h:50,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include/private/../gc.h:926,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include/private/gc_priv.h:50,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c:17:
/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/include/bits/signal.h:11:16: note: originally defined here
 typedef struct sigcontext
                ^
make[6]: *** [os_dep.lo] Error 1
make[6]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/arm-openwrt-linux-muslgnueabi/boehm-gc'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/arm-openwrt-linux-muslgnueabi/boehm-gc'
make[4]: *** [all-target-boehm-gc] Error 2
make[4]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final'
make[2]: *** [/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/.built] Error 2
make[2]: Leaving directory `/opt/LEDE_git/toolchain/gcc/final'
make[1]: *** [toolchain/gcc/final/compile] Error 2
make[1]: Leaving directory `/opt/LEDE_git'
make: *** [toolchain/gcc/final/compile] Error 2

include/bits/signal.h
include/asm/sigcontext.h

It is seem that the 2 files shown above have same definition, I think you can comment one of them or modified the
build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c file.

I used to solved such issue by adding HAS_CONTEXT_FUNCS for uClibc, However, there is no indication that we can solve this issue by changing configuration file for musl library.

banglang.huang wrote:
mazilo wrote:

I can't even built the gcc-5.3 toolchains for OXNAS platform. So, I moved on with LEDE and encountered the same problem as shown below for LEDE (which is the OpenWRT spin off).

make[6]: Entering directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/arm-openwrt-linux-muslgnueabi/boehm-gc'
depbase=`echo os_dep.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
    /bin/bash ./libtool --tag=CC   --mode=compile /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/xgcc -B/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/bin/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/lib/ -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/include -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/sys-include    -DHAVE_CONFIG_H -I. -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc -I./include  -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include  -fexceptions -Iinclude -I././targ-include -I.//libc/include  -Os -pipe -march=armv6k -mtune=mpcore -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft  -MT os_dep.lo -MD -MP -MF $depbase.Tpo -c -o os_dep.lo /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c &&\
    mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/xgcc -B/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/./gcc/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/bin/ -B/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/lib/ -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/include -isystem /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/arm-openwrt-linux-muslgnueabi/sys-include -DHAVE_CONFIG_H -I. -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc -I./include -I/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include -fexceptions -Iinclude -I././targ-include -I.//libc/include -Os -pipe -march=armv6k -mtune=mpcore -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -MT os_dep.lo -MD -MP -MF .deps/os_dep.Tpo -c /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c  -fPIC -DPIC -o .libs/os_dep.o
In file included from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c:44:0:
/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/include/asm/sigcontext.h:9:8: error: redefinition of 'struct sigcontext'
 struct sigcontext {
        ^
In file included from /opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/include/signal.h:48:0,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include/private/../gc_pthread_redirects.h:50,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include/private/../gc.h:926,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/include/private/gc_priv.h:50,
                 from /opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c:17:
/opt/LEDE_git/staging_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/include/bits/signal.h:11:16: note: originally defined here
 typedef struct sigcontext
                ^
make[6]: *** [os_dep.lo] Error 1
make[6]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/arm-openwrt-linux-muslgnueabi/boehm-gc'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/arm-openwrt-linux-muslgnueabi/boehm-gc'
make[4]: *** [all-target-boehm-gc] Error 2
make[4]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final'
make[2]: *** [/opt/LEDE_git/build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0-final/.built] Error 2
make[2]: Leaving directory `/opt/LEDE_git/toolchain/gcc/final'
make[1]: *** [toolchain/gcc/final/compile] Error 2
make[1]: Leaving directory `/opt/LEDE_git'
make: *** [toolchain/gcc/final/compile] Error 2

include/bits/signal.h
include/asm/sigcontext.h

It is seem that the 2 files shown above have same definition, I think you can comment one of them or modified the
build_dir/toolchain-arm_mpcore_gcc-5.3.0_musl-1.1.14_eabi/gcc-5.3.0/boehm-gc/os_dep.c file.

I used to solved such issue by adding HAS_CONTEXT_FUNCS for uClibc, However, there is no indication that we can solve this issue by changing configuration file for musl library.

Exactly.

The discussion might have continued from here.