In my quest for a working bind-nsupdate binary that I can run on my RUTX11 7.22.x, I decided to try compiling my own with the RutOS SDK. Never done it before. “How hard could it be?” I thought naively.
Off I went to follow the directions. 4 hours later, I gave up.
I spun up a fresh Ubuntu 22 VM as per the recommendation… 8GB RAM, 4 CPUs, 100GB SSD space. installed the prereq’s, downloaded the SDK…
First hurdle, when I installed nodejs with apt install -y nodejs npm it gave me v12. I ended up having to do:
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
Looks ok now
# node -v
v25.9.0
So then I proceeded with
./scripts/feeds update -a
make -j$(nproc)
It churned away for a while, and then errored out with
WARNING: Makefile 'package/lang/lua/luasocket/Makefile' has a build dependency on 'luasrcdiet/host', which does not exist
WARNING: Makefile 'package/libs/luci-lib-ip/Makefile' has a build dependency on 'luci-base/host', which does not exist
WARNING: Makefile 'package/libs/luci-lib-ip/Makefile' has a build dependency on 'csstidy/host', which does not exist
WARNING: Makefile 'package/libs/luci-lib-ip/Makefile' has a build dependency on 'luasrcdiet/host', which does not exist
WARNING: Makefile 'package/libs/luci-lib-nixio/Makefile' has a build dependency on 'luci-base/host', which does not exist
WARNING: Makefile 'package/libs/luci-lib-nixio/Makefile' has a build dependency on 'csstidy/host', which does not exist
WARNING: Makefile 'package/libs/luci-lib-nixio/Makefile' has a build dependency on 'luasrcdiet/host', which does not exist
make[2]: Entering directory '/root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/scripts/config'
cc -O2 -c -o conf.o conf.c
cc conf.o confdata.o expr.o lexer.lex.o menu.o parser.tab.o preprocess.o symbol.o util.o -o conf
make[2]: Leaving directory '/root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/scripts/config'
time: target/linux/prereq#0.07#0.01#0.08
WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!
make[1] world
make[2] tools/compile
make[2] package/cleanup
make[3] -C tools/flock compile
make[3] -C tools/xz compile
make[3] -C tools/sed compile
make[3] -C tools/patch compile
make[3] -C tools/tar compile
ERROR: tools/tar failed to build.
make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
make: *** [/root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/include/toplevel.mk:249: world] Error 1
So as suggested I tried with V=sc and got (full output at gist)
configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
See `config.log' for more details
make[3]: *** [Makefile:36: /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/build_dir/host/tar-1.32/.configured] Error 1
make[3]: Leaving directory '/root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/tools/tar'
time: tools/tar/compile#6.28#2.08#11.23
ERROR: tools/tar failed to build.
make[2]: *** [tools/Makefile:159: tools/tar/compile] Error 1
make[2]: Leaving directory '/root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk'
make[1]: *** [tools/Makefile:155: /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/host/stamp/.tools_compile_yyynyynnyynynyyyyynyynnyynyyyynyyyyyyyyyyyyynynyyyyyyyyy] Error 2
make[1]: Leaving directory '/root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk'
make: *** [/root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/include/toplevel.mk:249: world] Error 2
So I tried adding export FORCE_UNSAFE_CONFIGURE=1 (which I’m not sure about since it wasn’t in the docs anywhere) and got tens of thousands of lines of output, and after about 30 minutes… error
/python3-sqlite3/. /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-ipq40xx/'
touch /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-ipq40xx/stamp/.python3-sqlite3_installed
mkdir -p /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-ipq40xx/stamp
SHELL= flock /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/tmp/.root-copy.flock -c 'cp -fpR /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/Python-3.11.7/.pkgdir/python3-urllib/. /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-ipq40xx/'
touch /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-ipq40xx/stamp/.python3-urllib_installed
mkdir -p /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-ipq40xx/stamp
SHELL= flock /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/tmp/.root-copy.flock -c 'cp -fpR /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/Python-3.11.7/.pkgdir/python3-uuid/. /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-ipq40xx/'
touch /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-ipq40xx/stamp/.python3-uuid_installed
mkdir -p /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-ipq40xx/stamp
SHELL= flock /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/tmp/.root-copy.flock -c 'cp -fpR /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/Python-3.11.7/.pkgdir/python3-xml/. /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-ipq40xx/'
touch /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/root-ipq40xx/stamp/.python3-xml_installed
make[3]: Leaving directory '/root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/package/lang/python/python3'
time: package/lang/python/python3/compile#311.25#20.35#260.30
make[2]: Leaving directory '/root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk'
make[1]: *** [package/Makefile:122: /root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory '/root/src/rutx-sdk/rutos-ipq40xx-rutx-sdk'
I’ve run make clean and make distclean a couple of times as well to reset the process but, still stuck.
Any tips for moving this along? Is the 7.22.1 SDK working?