Forum: Compiler & IDEs ESP8266 RTOS SDK aufsetzen - der Horror


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Max M. (maxmicr)


Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,

hat schon mal jemand bei sich das ESP8266 RTOS SDK aufgesetzt: 
https://github.com/espressif/ESP8266_RTOS_SDK ?

Ich würde das gerne auf Windows (ggf. in Kombination mit dem 
Linux-Subsystem) zum laufen zu bekommen, hab aber erstmal keine Ahnung 
wie ich da ran gehen soll.

Ich hab mir im Linux-Subsystem (Ubuntu) die Toolchain heruntergeladen 
und das GitHub-Repo geklont, dann folgendes ausgeführt:
export IDF_PATH=/mnt/c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/

dann bin ich in den Pfad
ESP8266_RTOS_SDK/examples/get-started/hello-world

und hab
make

ausgeführt - mit folgendem Ergebnis:
make[1]: Entering directory '/mnt/c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/tools/kconfig'
cc -c  -DCURSES_LOC="<curses.h>" -DLOCALE -MMD -MP -I "." -I "/mnt/c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/tools/kconfig"  /mnt/c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/tools/kconfig/mconf.c -o mconf.o
<command-line>:0:12: fatal error: curses.h: No such file or directory
compilation terminated.
Makefile:173: recipe for target 'mconf.o' failed
make[1]: *** [mconf.o] Error 1
make[1]: Leaving directory '/mnt/c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/tools/kconfig'
The following Python requirements are not satisfied:
click>=5.0
pyserial>=3.0
future>=0.15.2
pyparsing>=2.0.3,<2.4.0
pyelftools>=0.22
Please refer to the Get Started section of the ESP-IDF Programming Guide for setting up the required packages.
Alternatively, you can run "/usr/bin/python -m pip install --user -r /mnt/c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/requirements.txt" for resolving the issue.
/mnt/c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK//make/project.mk:247: recipe for target 'check_python_dependencies' failed
make: *** [check_python_dependencies] Error 1

Hab dann versucht, die fehlenden Python-Pakete einzeln 
nachzuinstallieren:
pip install --user click>=5.0

Dann kam nach ca. 1 Minute warten diese Meldung:
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 360, in run
    prefix=options.prefix_path,
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 247, in move_wheel_files
    prefix=prefix,
  File "/usr/lib/python2.7/dist-packages/pip/locations.py", line 153, in distutils_scheme
    i.finalize_options()
  File "/usr/lib/python2.7/distutils/command/install.py", line 357, in finalize_options
    self.create_home_path()
  File "/usr/lib/python2.7/distutils/command/install.py", line 593, in create_home_path
    os.makedirs(path, 0700)
  File "/usr/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/home/test/.local/lib'

Das Problem ist nun: Wenn ich es mit "sudo" installiere, läuft die 
Installation durch. Aber in Linux haben "sudo" und der normale Benutzer 
ein seltsames Verhältnis miteinander, bzw. eher ein nicht-Verhältnis, 
d.h. wenn ich dann einfach wieder "make" ausführe, kommt immer noch die 
selbe Fehlermeldung mit fehlenden Paketen, d.h. es bringt mir nichts, 
wenn die Installation mit sudo durchläuft - diese Pakete gibt es dann 
anscheinend nur für "sudo" aber nicht für den normalen Benutzer.


Na gut - vielleicht läuft es ja auf purem Windows!

Also - MinGW installiert:
$ mingw32-make
C:\Users\test\Documents\ESP8266\ESP8266_RTOS_SDK/make/project.mk:60: esp-idf build system only supports GNU Make versions 3.81 or newer. You may see unexpected results with other Makes.
C:\Users\test\Documents\ESP8266\ESP8266_RTOS_SDK/make/project.mk:65: esp-idf build system only supports MSYS2 in "MINGW32" mode. Consult the ESP-IDF documentation for details.
C:\Users\test\Documents\ESP8266\ESP8266_RTOS_SDK/make/project.mk:116: *** IDF_PATH cannot contain colons. If overriding IDF_PATH on Windows, use MSYS Unix-style /c/dir instead of C:/dir.  Stop.

Okay, hab dann die Pfadvariable angepasst:
$ mingw32-make                                                                                                          Makefile:8: c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/make/project.mk: No such file or directory
mingw32-make: *** No rule to make target 'c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/make/project.mk'.  Stop.

Also irgendwann ist doch mal gut :(

Leider hat Espressif zum Dezember diesen Jahres den Support für das 
NON_OS-SDK eingestellt, das hab ich früher immer verwendet. Da hatte ich 
nie solche Probleme.

Kennt sich jemand damit aus? Wäre sehr nett

von Max M. (maxmicr)


Bewertung
0 lesenswert
nicht lesenswert
Okay, Lösung für das Python-Problem war (im Linux-Subsystem eingeben):
sudo chown -R test:test /home/test/.local/

Lösung für
<command-line>:0:12: fatal error: curses.h: No such file or directory

war:
sudo apt-get install libncurses-dev

Dann noch flex, bison und gperf installieren - läuft!

von Markus F. (mfro)


Bewertung
0 lesenswert
nicht lesenswert
Max M. schrieb:
> Makefile:8:
> c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/make/project.mk: No such
> file or directory

Hier fehlt offensichtlich der führende '/'.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.