Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not build on ESP8266 (ncurse not found!) #73

Open
Scelibre opened this issue Feb 16, 2024 · 4 comments · May be fixed by #74
Open

Could not build on ESP8266 (ncurse not found!) #73

Scelibre opened this issue Feb 16, 2024 · 4 comments · May be fixed by #74

Comments

@Scelibre
Copy link

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 ?

Capture d’écran du 2024-02-16 02-52-03

  • 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
@Scelibre
Copy link
Author

Fixed, I added

RUN chmod -R 777 /opt/*

in Dockerfile for ESP8266 SDK and it works.

@SpComb
Copy link
Member

SpComb commented Feb 16, 2024

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 😕

@SpComb
Copy link
Member

SpComb commented Feb 16, 2024

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.

@SpComb SpComb linked a pull request Feb 16, 2024 that will close this issue
@SpComb
Copy link
Member

SpComb commented Feb 16, 2024

See #74

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants