V19.07.1 make menuconfig fails in Arch Linux (make 4.3 problem)

Had so many problems with building images since v18.06.5 in the last few days.. tried to build a 19.07.1 image and finally found This closed bug report, and added a comment specifying a possible workaround(A very small modification), I hope this isn't considered double-posting, I just want to make sure that this little "fix" if you can call it that won't cause any trouble?

I did check the notes about make v4.3 here, to make sure what were the backwards-incompatible changes... and they don't seem to affect this specific issue.. using this "workaround", 'make menuconfig' worked and I can access the menu, any thoughts about this?

I’ve just built v19.07.02 on Arch. It failed with make -j5 but worked just fine with make -j1 V=s.

Overall hadn’t had many issues building from source on Arch. Usually running either the Zen or vanilla kernel while building.

Edit: just looked at your first link, I don’t build any wpa_* or other wireless packages, maybe that’s the difference. I also build with GCC 8 instead of 7 if that makes any difference.

The latest branch worked fine for me too, I'm talking about the stable releases, try v19.07.1 and you should be able to reproduce the problem.

As for wpa_* packages, these are specified by default (I didn't modify anything) after entering these commands:

git clone https://github.com/openwrt/openwrt.git
git checkout v19.07.1
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

This produces the problem for me.

GCC version on my end is v9.2.1

v19.07.01 worked for me as well when it just came out, I'll retry tomorrow to confirm if it still works.

I always build with the following steps:

git clone https://git.openwrt.org/openwrt/openwrt.git
git checkout v19.07.1
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig #select your target, subtarget and profile only
make defconfig #this makes default config for your target device
make download
make -j5

Regarding GCC - you can select GCC and binutils in:
Advanced Configuration Options (for developers) --->Toolchain Options ---> Binutils Version (I set mine to 2.32)
Advanced Configuration Options (for developers) --->Toolchain Options ---> GCC Compiler Version (I set mine to gcc 8.x)

image

image

1 Like

Doesn't matter, my workaround may have let me reach "make menuconfig" and actually compile, but it doesn't help even after setting target->subtarget->profile' and saving space make' still causes a problem (a dependency error, my fault for not copying it, so I'm trying what @SirToffski suggested).

While I failed before using the original repository at https://git.openwrt.org/openwrt/openwrt.git, it's still much more updated than the mirror (weeks if not months since last commit) so I'll stake my chances again.

What I did:

git clone https://git.openwrt.org/openwrt/openwrt.git
git checkout v19.07.1
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

This still caused the same warning messages and syntax error and doesn't compile, so I used the workaround again, this time I followed @SirToffski's advice:

make menuconfig #select your target, subtarget and profile only
make defconfig #this makes default config for your target device
make download

Only difference is I used make -j1 V=sc in case there's an error (highly likely), I'll post when it's done.

(I emitted my home directory from output)

Packaged contents of  Documents/git_repo/openwrt/build_dir/target-mipsel_24kc_musl/hostapd-wpad-basic/hostapd-2019-08-08-ca8c2bd2/ipkg-mipsel_24kc/hostapd-common into  Documents/git_repo/openwrt/bin/packages/mipsel_24kc/base/hostapd-common_2019-08-08-ca8c2bd2-2_mipsel_24kc.ipk
mkdir -p  Documents/git_repo/openwrt/bin/targets/ramips/mt7621/packages  Documents/git_repo/openwrt/build_dir/target-mipsel_24kc_musl/hostapd-wpad-basic/hostapd-2019-08-08-ca8c2bd2/ipkg-mipsel_24kc/wpad-basic/CONTROL  Documents/git_repo/openwrt/staging_dir/target-mipsel_24kc_musl/pkginfo
install -d -m0755  Documents/git_repo/openwrt/build_dir/target-mipsel_24kc_musl/hostapd-wpad-basic/hostapd-2019-08-08-ca8c2bd2/ipkg-mipsel_24kc/wpad-basic/usr/sbin
install -d -m0755  Documents/git_repo/openwrt/build_dir/target-mipsel_24kc_musl/hostapd-wpad-basic/hostapd-2019-08-08-ca8c2bd2/ipkg-mipsel_24kc/wpad-basic/usr/sbin
install -m0755  Documents/git_repo/openwrt/build_dir/target-mipsel_24kc_musl/hostapd-wpad-basic/hostapd-2019-08-08-ca8c2bd2/wpad  Documents/git_repo/openwrt/build_dir/target-mipsel_24kc_musl/hostapd-wpad-basic/hostapd-2019-08-08-ca8c2bd2/ipkg-mipsel_24kc/wpad-basic/usr/sbin/
ln -sf wpad  Documents/git_repo/openwrt/build_dir/target-mipsel_24kc_musl/hostapd-wpad-basic/hostapd-2019-08-08-ca8c2bd2/ipkg-mipsel_24kc/wpad-basic/usr/sbin/hostapd
ln -sf wpad  Documents/git_repo/openwrt/build_dir/target-mipsel_24kc_musl/hostapd-wpad-basic/hostapd-2019-08-08-ca8c2bd2/ipkg-mipsel_24kc/wpad-basic/usr/sbin/wpa_supplicant
find  Documents/git_repo/openwrt/build_dir/target-mipsel_24kc_musl/hostapd-wpad-basic/hostapd-2019-08-08-ca8c2bd2/ipkg-mipsel_24kc/wpad-basic -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
Package wpad-basic is missing dependencies for the following libraries:
libnl-tiny.so
make[3]: *** [Makefile:617:  Documents/git_repo/openwrt/bin/packages/mipsel_24kc/base/wpad-basic_2019-08-08-ca8c2bd2-2_mipsel_24kc.ipk] Error 1
make[3]: Leaving directory ' Documents/git_repo/openwrt/package/network/services/hostapd'
time: package/network/services/hostapd/wpad-basic/compile#28.13#3.00#29.87
make[2]: *** [package/Makefile:113: package/network/services/hostapd/compile] Error 2
make[2]: Leaving directory ' Documents/git_repo/openwrt'
make[1]: *** [package/Makefile:107:  Documents/git_repo/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory ' Documents/git_repo/openwrt'
make: *** [ Documents/git_repo/openwrt/include/toplevel.mk:227: world] Error 2

Dependency problems:

Package wpad-basic is missing dependencies for the following libraries:
libnl-tiny.so

Well, I'll try and manually download all missing packages with "./scripts/feeds install" and see where this goes... unless I remedy the dependency problem this problem will never be resolved.

Solution is available at: https://bugs.openwrt.org/index.php?do=details&task_id=2776
Thanks to: Jo-Philipp Wich

The problem indeed was with make 4.3 incompatibility, from Jo-Philipp Wich:

You need to apply https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=b6c01fec921bb094416e70abad4c706b6cb030fd on top of v19.07.1 to make it make 4.3 compatible.

So, if you have make 4.3+ ("make -v" in the terminal), you need to commit that change.

process:

git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt
git checkout v19.07.1
git cherry-pick b6c01fec921bb094416e70abad4c706b6cb030fd
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig # choose your device
make defconfig # default config (also helps avoid config problems, overwrites '.config' file)
# make menuconfig # OPTIONAL, choose your own options (customized '.config' file)
# make kernel_menuconfig # OPTIONAL additional settings
make download
make -j5  # you can change '5' to how many hardware threads you can spare (hw threads + 1)

[NOTE] -jN, where N is the number of hardware threads plus 1.
4 cores = 4 + 1 = 5
8 cores = 8 + 1 = 9

1 Like

@freezeheat - just got around to to building v19.07.01 - confirmed I could reproduce the error.
Also confirmed the fix worked. I must have built v19.07.01 before make was updated to v4.3, so it went through then.

Cheers

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.