Compiling 4.6.2 on EC2

Hi there,

I am trying to compile Chirpstack OS 4.6.2 on a clean EC2 Instance (Ubuntu 24 LTS, tried both AMD/Intel, 32GB RAM, 100 GB HD, 8/16 cores), Docker version 27.5.1, build 9f9e405. I get through make init, (sometimes immediately do make update), make devshell, make switch-env ENV=base_raspberrypi_bcm27xx_bcm2709, and off to the races on compile. No matter what I try, compile fails on rust.

I have tried to uninstall, reinstall feeds, clean in between, delete build folders etc… I believe I can replicate this quite easily – have been banging my head against the wall last two days on it.

Out of curiosity, I also tried switching to a graviton instance (ARM and had other issues such as un patchable pointer errors from arm 64 host to arm32 target etc…); what is the safest/most reliable build environment to built Chirpstack OS for a pi4 target? a pi4?

This is the dump from trying to build just rust: (all GPTs, Sonnet3.5 stumped)

buildbot@d496278fcf37:/workdir/openwrt$ make package/feeds/packages/rust/{clean,compile} V=sc
make[2]: Entering directory ‘/workdir/openwrt/scripts/config’
make[2]: ‘conf’ is up to date.
make[2]: Leaving directory ‘/workdir/openwrt/scripts/config’
make[1]: Entering directory ‘/workdir/openwrt’
make[2]: Entering directory ‘/workdir/openwrt/feeds/packages/lang/rust’
rm -rf /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/rust-1.80.1
rm -f /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp/.rust_installed
rm -f /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/packages/rust.list
make[2]: Leaving directory ‘/workdir/openwrt/feeds/packages/lang/rust’
time: package/feeds/packages/rust/clean#0.05#0.07#0.11
make[1]: Leaving directory ‘/workdir/openwrt’
make[2]: Entering directory ‘/workdir/openwrt/scripts/config’
make[2]: ‘conf’ is up to date.
make[2]: Leaving directory ‘/workdir/openwrt/scripts/config’
make[1]: Entering directory ‘/workdir/openwrt’

  • mkdir -p /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi
  • cd /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi
  • mkdir -p bin lib stamp usr/include usr/lib
    mkdir -p /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp
    touch /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/.prepared
    make[2]: Entering directory ‘/workdir/openwrt/package/libs/toolchain’
    rm -rf /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc.installed /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc
    mkdir -p /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc/lib /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc/usr/bin
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/ld-musl-.so /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc/lib/
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libc.so* /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc/lib/
    ln -sf …/…/lib/libc.so /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc/usr/bin/ldd
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libatomic.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libc.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libcrypt.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libdl.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libitm.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libm.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libpthread.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libresolv.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/librt.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libssp_nonshared.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libstdc++.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libstdc++fs.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libsupc++.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libutil.a /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libxnet.a /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc/lib/
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/gcc/arm-openwrt-linux-muslgnueabi/12.3.0/libgcc_pic.a /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc/lib/libgcc_s_pic.a; cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/gcc/arm-openwrt-linux-muslgnueabi/12.3.0/libgcc.map /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc/lib/libgcc_s_pic.map
    touch /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc.installed
    mkdir -p /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp
    SHELL= flock /workdir/openwrt/tmp/.root-copy.flock -c ‘cp -fpR /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libc/. /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/’
    touch /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp/.libc_installed
    mkdir -p /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libgcc/CONTROL /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libgcc/lib
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libgcc_s.so.* /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libgcc/lib/
    find /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libgcc -name ‘CVS’ -o -name ‘.svn’ -o -name ‘.#’ -o -name '~’| xargs -r rm -rf
    export CROSS=“arm-openwrt-linux-muslgnueabi-” NO_RENAME=1 ; NM=“arm-openwrt-linux-muslgnueabi-nm” STRIP=“/workdir/openwrt/staging_dir/host/bin/sstrip -z” STRIP_KMOD=“/workdir/openwrt/scripts/strip-kmod.sh” PATCHELF=“/workdir/openwrt/staging_dir/host/bin/patchelf” /workdir/openwrt/scripts/rstrip.sh /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libgcc
    rstrip.sh: /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libgcc/lib/libgcc_s.so.1: shared object
    (cd /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libgcc/CONTROL; ( echo “$CONTROL”; printf “Description: “; echo “$DESCRIPTION” | sed -e 's,[1], ,g’; ) > control; chmod 644 control; ( echo “#!/bin/sh”; echo “[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_postinst $0 $@”; ) > postinst; ( echo “#!/bin/sh”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_prerm $0 $@”; ) > prerm; chmod 0755 postinst prerm; )
    install -d -m0755 /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    /workdir/openwrt/staging_dir/host/bin/fakeroot /workdir/openwrt/staging_dir/host/bin/bash /workdir/openwrt/scripts/ipkg-build -m “” /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libgcc /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    Packaged contents of /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libgcc into /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages/libgcc1_12.3.0-4_arm_cortex-a7_neon-vfpv4.ipk
    mkdir -p /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc/CONTROL /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc/lib /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc/usr/bin
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/ld-musl-
    .so* /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc/lib/
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libc.so* /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc/lib/
    ln -sf …/…/lib/libc.so /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc/usr/bin/ldd
    find /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc -name ‘CVS’ -o -name ‘.svn’ -o -name ‘.#’ -o -name '~’| xargs -r rm -rf
    export CROSS=“arm-openwrt-linux-muslgnueabi-” NO_RENAME=1 ; NM=“arm-openwrt-linux-muslgnueabi-nm” STRIP=”/workdir/openwrt/staging_dir/host/bin/sstrip -z” STRIP_KMOD=“/workdir/openwrt/scripts/strip-kmod.sh” PATCHELF=“/workdir/openwrt/staging_dir/host/bin/patchelf” /workdir/openwrt/scripts/rstrip.sh /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc
    rstrip.sh: /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc/lib/libc.so: shared object
    (cd /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc/CONTROL; ( echo “$CONTROL”; printf “Description: “; echo “$DESCRIPTION” | sed -e 's,[2], ,g’; ) > control; chmod 644 control; ( echo “#!/bin/sh”; echo “[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_postinst $0 $@”; ) > postinst; ( echo “#!/bin/sh”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_prerm $0 $@”; ) > prerm; chmod 0755 postinst prerm; )
    install -d -m0755 /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    /workdir/openwrt/staging_dir/host/bin/fakeroot /workdir/openwrt/staging_dir/host/bin/bash /workdir/openwrt/scripts/ipkg-build -m “” /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    Packaged contents of /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libc into /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages/libc_1.2.4-4_arm_cortex-a7_neon-vfpv4.ipk
    mkdir -p /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libatomic/CONTROL /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libatomic/lib
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libatomic.so.
    /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libatomic/lib/
    find /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libatomic -name ‘CVS’ -o -name ‘.svn’ -o -name ‘.#’ -o -name '~’| xargs -r rm -rf
    export CROSS=“arm-openwrt-linux-muslgnueabi-” NO_RENAME=1 ; NM=“arm-openwrt-linux-muslgnueabi-nm” STRIP=”/workdir/openwrt/staging_dir/host/bin/sstrip -z” STRIP_KMOD=“/workdir/openwrt/scripts/strip-kmod.sh” PATCHELF=“/workdir/openwrt/staging_dir/host/bin/patchelf” /workdir/openwrt/scripts/rstrip.sh /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libatomic
    rstrip.sh: /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libatomic/lib/libatomic.so.1.2.0: shared object
    (cd /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libatomic/CONTROL; ( echo “$CONTROL”; printf “Description: “; echo “$DESCRIPTION” | sed -e ‘s,[3], ,g’; ) > control; chmod 644 control; ( echo “#!/bin/sh”; echo “[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_postinst $0 $@”; ) > postinst; ( echo “#!/bin/sh”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_prerm $0 $@”; ) > prerm; chmod 0755 postinst prerm; )
    install -d -m0755 /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    /workdir/openwrt/staging_dir/host/bin/fakeroot /workdir/openwrt/staging_dir/host/bin/bash /workdir/openwrt/scripts/ipkg-build -m “” /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libatomic /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    Packaged contents of /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libatomic into /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages/libatomic1_12.3.0-4_arm_cortex-a7_neon-vfpv4.ipk
    mkdir -p /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libstdcpp/CONTROL /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libstdcpp/usr/lib
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libstdc++.so.
    /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libstdcpp/usr/lib/
    rm -rf /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libstdcpp/usr/lib/-gdb.py
    find /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libstdcpp -name ‘CVS’ -o -name ‘.svn’ -o -name '.#
    ’ -o -name ‘~'| xargs -r rm -rf
    export CROSS=“arm-openwrt-linux-muslgnueabi-” NO_RENAME=1 ; NM=“arm-openwrt-linux-muslgnueabi-nm” STRIP=“/workdir/openwrt/staging_dir/host/bin/sstrip -z” STRIP_KMOD=“/workdir/openwrt/scripts/strip-kmod.sh” PATCHELF=“/workdir/openwrt/staging_dir/host/bin/patchelf” /workdir/openwrt/scripts/rstrip.sh /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libstdcpp
    rstrip.sh: /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libstdcpp/usr/lib/libstdc++.so.6.0.30: shared object
    (cd /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libstdcpp/CONTROL; ( echo “$CONTROL”; printf "Description: "; echo “$DESCRIPTION” | sed -e 's,[4]
    , ,g’; ) > control; chmod 644 control; ( echo “#!/bin/sh”; echo “[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_postinst $0 $@”; ) > postinst; ( echo “#!/bin/sh”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_prerm $0 $@”; ) > prerm; chmod 0755 postinst prerm; )
    install -d -m0755 /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    /workdir/openwrt/staging_dir/host/bin/fakeroot /workdir/openwrt/staging_dir/host/bin/bash /workdir/openwrt/scripts/ipkg-build -m “” /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libstdcpp /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    Packaged contents of /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libstdcpp into /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages/libstdcpp6_12.3.0-4_arm_cortex-a7_neon-vfpv4.ipk
    mkdir -p /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libpthread/CONTROL /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libpthread/lib
    find /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libpthread -name ‘CVS’ -o -name ‘.svn’ -o -name ‘.#’ -o -name '~’| xargs -r rm -rf
    export CROSS=“arm-openwrt-linux-muslgnueabi-” NO_RENAME=1 ; NM=“arm-openwrt-linux-muslgnueabi-nm” STRIP=”/workdir/openwrt/staging_dir/host/bin/sstrip -z” STRIP_KMOD=“/workdir/openwrt/scripts/strip-kmod.sh” PATCHELF=“/workdir/openwrt/staging_dir/host/bin/patchelf” /workdir/openwrt/scripts/rstrip.sh /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libpthread
    (cd /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libpthread/CONTROL; ( echo “$CONTROL”; printf "Description: "; echo “$DESCRIPTION” | sed -e ‘s,[5], ,g’; ) > control; chmod 644 control; ( echo “#!/bin/sh”; echo “[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_postinst $0 $@”; ) > postinst; ( echo “#!/bin/sh”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_prerm $0 $@”; ) > prerm; chmod 0755 postinst prerm; )
    install -d -m0755 /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    /workdir/openwrt/staging_dir/host/bin/fakeroot /workdir/openwrt/staging_dir/host/bin/bash /workdir/openwrt/scripts/ipkg-build -m “” /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libpthread /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    Packaged contents of /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/libpthread into /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages/libpthread_1.2.4-4_arm_cortex-a7_neon-vfpv4.ipk
    mkdir -p /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/librt/CONTROL /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/librt/lib
    find /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/librt -name ‘CVS’ -o -name ‘.svn’ -o -name '.#
    ’ -o -name ‘~'| xargs -r rm -rf
    export CROSS=“arm-openwrt-linux-muslgnueabi-” NO_RENAME=1 ; NM=“arm-openwrt-linux-muslgnueabi-nm” STRIP=“/workdir/openwrt/staging_dir/host/bin/sstrip -z” STRIP_KMOD=“/workdir/openwrt/scripts/strip-kmod.sh” PATCHELF=“/workdir/openwrt/staging_dir/host/bin/patchelf” /workdir/openwrt/scripts/rstrip.sh /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/librt
    (cd /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/librt/CONTROL; ( echo “$CONTROL”; printf "Description: "; echo “$DESCRIPTION” | sed -e 's,[6]
    , ,g’; ) > control; chmod 644 control; ( echo “#!/bin/sh”; echo “[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_postinst $0 $@”; ) > postinst; ( echo “#!/bin/sh”; echo “[ -s “${IPKG_INSTROOT}/lib/functions.sh” ] || exit 0”; echo “. ${IPKG_INSTROOT}/lib/functions.sh”; echo “default_prerm $0 $@”; ) > prerm; chmod 0755 postinst prerm; )
    install -d -m0755 /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    /workdir/openwrt/staging_dir/host/bin/fakeroot /workdir/openwrt/staging_dir/host/bin/bash /workdir/openwrt/scripts/ipkg-build -m “” /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/librt /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages
    Packaged contents of /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/ipkg-arm_cortex-a7_neon-vfpv4/librt into /workdir/openwrt/bin/targets/bcm27xx/bcm2709/packages/librt_1.2.4-4_arm_cortex-a7_neon-vfpv4.ipk
    echo “libc” >> /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
    rm -rf /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libgcc.installed /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libgcc
    mkdir -p /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libgcc
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libgcc/lib
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libgcc_s.so.* /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libgcc/lib/
    touch /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libgcc.installed
    rm -rf /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libatomic.installed /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libatomic
    mkdir -p /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libatomic
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libatomic/lib
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libatomic.so.* /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libatomic/lib/
    touch /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libatomic.installed
    rm -rf /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libstdcpp.installed /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libstdcpp
    mkdir -p /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libstdcpp
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libstdcpp/usr/lib
    cp -fpR /workdir/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-12.3.0_musl_eabi/lib/libstdc++.so.* /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libstdcpp/usr/lib/
    rm -rf /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libstdcpp/usr/lib/*-gdb.py
    touch /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libstdcpp.installed
    rm -rf /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libpthread.installed /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libpthread
    mkdir -p /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libpthread
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libpthread/lib
    touch /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libpthread.installed
    rm -rf /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/librt.installed /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/librt
    mkdir -p /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/librt
    install -d -m0755 /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/librt/lib
    touch /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/librt.installed
    mkdir -p /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp
    echo ‘1’ | cmp -s - /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/libgcc.version || { echo ‘1’ > /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/libgcc.version; }
    SHELL= flock /workdir/openwrt/tmp/.root-copy.flock -c ‘cp -fpR /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libgcc/. /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/’
    touch /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp/.libgcc_installed
    echo “libgcc” >> /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
    mkdir -p /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp
    echo ‘1’ | cmp -s - /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/libatomic.version || { echo ‘1’ > /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/libatomic.version; }
    SHELL= flock /workdir/openwrt/tmp/.root-copy.flock -c ‘cp -fpR /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libatomic/. /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/’
    touch /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp/.libatomic_installed
    echo “libatomic” >> /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
    mkdir -p /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp
    echo ‘6’ | cmp -s - /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/libstdcpp.version || { echo ‘6’ > /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/libstdcpp.version; }
    SHELL= flock /workdir/openwrt/tmp/.root-copy.flock -c ‘cp -fpR /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libstdcpp/. /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/’
    touch /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp/.libstdcpp_installed
    echo “libstdcpp” >> /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
    mkdir -p /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp
    SHELL= flock /workdir/openwrt/tmp/.root-copy.flock -c ‘cp -fpR /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/libpthread/. /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/’
    touch /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp/.libpthread_installed
    echo “libpthread” >> /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
    mkdir -p /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp
    SHELL= flock /workdir/openwrt/tmp/.root-copy.flock -c ‘cp -fpR /workdir/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/toolchain/.pkgdir/librt/. /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/’
    touch /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-bcm27xx/stamp/.librt_installed
    echo “librt” >> /workdir/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/pkginfo/toolchain.default.install
    make[2]: Leaving directory ‘/workdir/openwrt/package/libs/toolchain’
    time: package/libs/toolchain/compile#0.47#0.83#1.16
    make[2]: Entering directory ‘/workdir/openwrt/feeds/packages/lang/rust’
    make[2]: Nothing to be done for ‘compile’.
    make[2]: Leaving directory ‘/workdir/openwrt/feeds/packages/lang/rust’
    time: package/feeds/packages/rust/compile#0.05#0.06#0.10
    make[1]: Leaving directory ‘/workdir/openwrt’
    buildbot@d496278fcf37:/workdir/openwrt$ exit

  1. [:space:] ↩︎

  2. [:space:] ↩︎

  3. [:space:] ↩︎

  4. [:space:] ↩︎

  5. [:space:] ↩︎

  6. [:space:] ↩︎

Update – seems that the rust install depends on a download from the project’s CI server that is no longer available. In the rust package’s Makefile it is necessary to flip the download flag to false. Happy to post detailed instructions if anyone needs help. Hope to see a new version released soon.

1 Like

If you publish a script it would be great.

This is an example. Check the last line: it creates a package with dependencies. Also check the folder.