Hi all, hoping someone can tell me what I screwed up. Currently unable to compile from trunk.
- git clone https://git.lede-project.org/source.git
- ./scripts/feeds update -a && ./scripts/feeds install -a
- make menuconfig
Normally this worked just fine for many months. Now I get an error on make menuconfig..
[matt@ts140 source]$ make menuconfig
make -s -C scripts/config all CC=cc: build failed. Please re-run make with -j1 V=s to see what's going on
make: *** [/home/matt/source/include/toplevel.mk:103: scripts/config/mconf] Error 1
[matt@ts140 source]$ make menuconfig V=s
make: Entering directory '/home/matt/source/scripts/config'
/usr/bin/ld: lxdialog/checklist.o: undefined reference to symbol 'acs_map'
/usr/lib/libtinfo.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [Makefile:32: mconf] Error 1
make: Leaving directory '/home/matt/source/scripts/config'
make: *** [/home/matt/source/include/toplevel.mk:103: scripts/config/mconf] Error 2
Google wasn't much help, with similar issue appearing years ago and the fix was to add a flag to a Makefile that apparently no longer exists.
In contrast, when i do a git clone of librecmc I can make menuconfig and compile it just fine.
Has anyone encountered this or know how to fix it? It started doing this just about the time that kernel 4.9 became default for target ar71xx. The build box is a fully patched and updated Parabola on an entry level 64bit xeon server with 16gb ram.
Nothing to do with kernel 4.9 on a target. That error is about building the build config tools on host.
You might read the following thread:
Typically that kind error are due to some change on the buildhost, requiring you to either install some new prerequisites, or adjust library paths, or so.
(Most often this type of error surfaces if somebody tries to compile a really old Openwrt version like AA12.09 with a brand-new OS like Ubuntu 17.10, as some prerequisite libraries have changed locations, so that compiling the menuconfig parser fails. Similar mismatch between the source code's expectations of OS library locations and the buildhost's actual contents.)
It may also be a too new OS that the too new gcc, or something like that.
you might try to recompile all menuconfig parser stuff again after cleaning it with "make config-clean":
perus@ub1710:/OwrtLEDE/r7800$ make config-clean V=s
make: Entering directory '/OwrtLEDE/r7800/scripts/config'
rm -f *.o lxdialog/*.o zconf.tab.c lex.zconf.c zconf.hash.c conf mconf
make: Leaving directory '/OwrtLEDE/r7800/scripts/config'
After you have cleaned it, the next "make menuconfig" should recompile it.
But if you really had a fresh clone, that won't help
Thanks for the pointers hnyman. I probably should have made clear that i was only pointing out the time reference that the build issues started for me, not that i ever thought the change to kernel 4.9 for ar71xx was the cause. I know it's not.
Parabola wants to use GCC7 which i know is fresh out of the gate. I tried installing GCC6 but make menuconfig would claim there was no GCC installed at all. I'll try some different OS's that default to GCC6 and see what happens.
gcc7 is a toolchain gcc. You need "normal" gcc on build host. It will build toolchain with gcc7 when you run make.
the error was about building host tools. it uses gcc from your pc. so i guess something is wrong with your host environment. maybe you can post your host info first.