Could not build on ESP8266 (ncurse not found!)
Hello, I tried to build the project for an esp8266 but an error appears on the inclusion of ncurse. I tried to modify apt-install with other ncurse packages but it doesn't change anything.
Someone can help me ?
- OS : Linux 6.5.0-15-generic 15~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC x86_64 GNU/Linux
- Docker version : 25.0.1, build 29cf629
- Docker compose version : 1.29.2, build unknown
Fixed, I added
RUN chmod -R 777 /opt/*
in Dockerfile for ESP8266 SDK and it works.
Hi,
BUILD_UID=$UID docker-compose -f projects/esp8266/docker-compose.yml run --rm build does work for me, but BUILD_UID=$UID docker-compose -f projects/esp8266/docker-compose.yml run --rm build make menuconfig does indeed fail with the same ncurses related issue.
Looks like /opt/ESP8266_RTOS_SDK/tools/kconfig/lxdialog/check-lxdialog.sh tries to write to .lxdialog.tmp and .lxdialog.d as paths relative to the current working directory, which fails when run under /opt/ESP8266_RTOS_SDK/tools/kconfig. The error message is misleading, ncurses-devel is installed.
Ideally the per-project build shouldn't need to modify the SDK files, but there's some wierdness going on around the dochecklxdialog target... apart from the relative .lxdialog.tmp path it looks like there's some Makefile cycle where it will always rebuild all of the lxdialog/*.o targets each time, despite them already being built in the SDK image :confused:
This line is probably bad: https://github.com/espressif/ESP8266_RTOS_SDK/blob/c4634015d873c6cf86e118df9364c2fbc20d9a11/tools/kconfig/Makefile#L217
Consider https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html
A phony target should not be a prerequisite of a real target file; if it is, its recipe will be run every time make considers that file.
See https://github.com/qmsk/esp/pull/74