EKH01 OpenWRT build fails

The build fails when doing an OpenWrt build with the latest version in git.

./scripts/morse_setup.sh -i -b ekh-bcm2711

go-1.21.13/$file" ]; then install -m0644 -p "/home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/$file" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/share/go-cross/" ; fi ; done
install -d -m0755 "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/bin"
install -m0755 -p "/home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/bin"/* "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/bin/"
if [ -d "/home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/pkg/linux_amd64" ]; then install -d -m0755 "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/pkg" ; cp -fpR "/home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/pkg/linux_amd64" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/pkg/" ; fi
install -d -m0755 "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/pkg/tool/linux_amd64"
install -m0755 -p "/home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/pkg/tool/linux_amd64"/* "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/pkg/tool/linux_amd64/"
install -d -m0755 "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross"
install -d -m0755 "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/share/go-cross"
cp -fpR "/home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/lib" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/share/go-cross/"
ln -sf "../../share/go-cross/lib" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/"
cp -fpR "/home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/misc" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/share/go-cross/"
ln -sf "../../share/go-cross/misc" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/"
cp -fpR "/home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/src" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/share/go-cross/"
ln -sf "../../share/go-cross/src" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/"
cp -fpR "/home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/test" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/share/go-cross/"
ln -sf "../../share/go-cross/test" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/"
find "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/share/go-cross/src/" \! -type d -a \( -name "*.bat" -o -name "*.rc" \) -delete
if [ -d "/home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/pkg/include" ]; then install -d -m0755 "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/pkg" ; install -d -m0755 "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/share/go-cross/pkg" ; cp -fpR "/home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/pkg/include" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/share/go-cross/pkg/" ; ln -sf "../../../share/go-cross/pkg/include" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/pkg/" ; fi
install -d -m0755 "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/bin"
ln -sf "../lib/go-cross/bin/go" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/bin/go"
ln -sf "../lib/go-cross/bin/gofmt" "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/bin/gofmt"
rm -rf "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/pkg/linux_amd64"
install -d -m0755 "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/openwrt"
install -m0755 ./files/go-gcc-helper "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/openwrt/"
ln -sf go-gcc-helper "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/openwrt/gcc"
ln -sf go-gcc-helper "/home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/lib/go-cross/openwrt/g++"
mkdir -p /home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/stamp
touch /home/ubuntu/newbuild/openwrt/build_dir/hostpkg/go-1.21.13/.built
touch /home/ubuntu/newbuild/openwrt/staging_dir/hostpkg/stamp/.golang_installed 
make[3]: Leaving directory '/home/ubuntu/newbuild/openwrt/feeds/packages/lang/golang/golang'
time: package/feeds/packages/golang/host-compile#1110.06#119.07#857.62
make[2]: Leaving directory '/home/ubuntu/newbuild/openwrt'
make[1]: *** [package/Makefile:123: /home/ubuntu/newbuild/openwrt/staging_dir/target-aarch64_cortex-a72_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/ubuntu/newbuild/openwrt'
make: *** [/home/ubuntu/newbuild/openwrt/include/toplevel.mk:233: world] Error 2

Hi @73challenger

I’d need to see more of the error log to be certain. But there is a known issue with the EKH01 builds. See below.

There is a mismatch in the availability of mm8108 firmware and the publicly released OpenWrt source code. For now, please comment out $(eval $(call BuildPackage,morse-fw-8108)) in openwrt/feeds/morse/kernel/morse-fw/Makefile.

Hello! I’m still running into problems with the latest branch. I did comment out the section above. I have included my log. I ran the following command, and then did a build.

./scripts/morse_setup.sh -i -b ekh-bcm2711

tryagain.txt (17.3 MB)

The log is showing the build complain about luci-lib-morseconfig, which has been present in the tree, but non existent in the feed, for quite some time. So I’m not convinced this is the cause of the failure.

I think you might still be getting hit by some references to some unreleased targets. Can you try using

./scripts/morse_setup.sh -i -b ekh01
make -j8 V=sc 2>&1 | tee log.txt

and see if that succeeds.

Yeah still having the same problem. I’ve been thinking that it may make sense to pin the git commit for the morse feed. That way breaking changes aren’t introduced when the feed changes, and it would allow for images to be rebuilt to a particular point in time? Then, when a new MM version gets released, bump the commit.

https://openmanet.net/logs/log.txt

Yep, see the feeds.conf.default file on tagged versions for how we pin to a specific commit.
This was the luci error. It looks like you need to remove luci-lib-morseconfig from luci-app-ekhwizards. Or remove luci-app-ekhwizards from menuconfig.

Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency luci-lib-morseconfig for luci-app-ekhwizards
 * pkg_hash_fetch_best_installation_candidate: Packages for luci-app-ekhwizards found, but incompatible with the architectures configured
 * opkg_install_cmd: Cannot install package luci-app-ekhwizards.

I’ve just run through and carried out a build myself with a fresh checkout of the Morse Micro 2.8.5 tag (and commenting out the offending line in morse-fw in the version of the feed which gets checked out - commit hash bc0f26e43b809f2c4d70bdb40979921119e02b36)
It sounds like you might be using the main branch of the morse-feed? As it turns out, in the 2.8-dev branch, which the latest release is based on, the dependency was removed (see 16274568ba86048f04dd06b4111517f3358a6ab1)! So this would explain why I’m not seeing it fail.

It would be best to treat the main branch as unstable, and pin to release branches (eg 2.8-dev) or the hash used in our release tags. We currently use GitHub as a sanitised public mirror of some internal trees, and can’t guarantee that our the GitHub main branch is stable.

You might want to use a workflow similar to what we use to track upstream OpenWrt. For your benefit, I’ve described it below:


We base only on specific release versions of the upstream - eg 23.05.3, 23.05.5 etc, so that commit hashes in the feed are static and do not move around us. See for example, mm/v23.05.5.
For the upstream OpenWrt feeds we modify (only luci at the moment), we maintain branches of similar names starting from the commit hash the OpenWrt feeds.conf.default originally pinned too in the release we are targeting.

When we move from one version from another, we rebase/cherry-pick all changes between the upstream version and our previous mm/<version> branch onto a new mm/<new version> branch based on the new upstream version we are targeting. This can be a fairly daunting process sometimes, but gives us an opportunity to tidy up the tree - particularly if there are upstream changes we’ve contributed which have merged.

See GitHub - ozrotorhead/openwrt for one of our customers using the same process, but with our release versions as the “upstream” instead of OpenWrt. They also have modified morse-feed as they required.

Thank you! That was my problem, I was using the dev branch. I have the latest version pulled over to OpenMANET now!