ESP8266 RTOS SDK aufsetzen - der Horror

OP #6084110
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:
1
export IDF_PATH=/mnt/c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/

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

und hab
1
make

ausgeführt - mit folgendem Ergebnis:
1
make[1]: Entering directory '/mnt/c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/tools/kconfig'
2
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
3
<command-line>:0:12: fatal error: curses.h: No such file or directory
4
compilation terminated.
5
Makefile:173: recipe for target 'mconf.o' failed
6
make[1]: *** [mconf.o] Error 1
7
make[1]: Leaving directory '/mnt/c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/tools/kconfig'
8
The following Python requirements are not satisfied:
9
click>=5.0
10
pyserial>=3.0
11
future>=0.15.2
12
pyparsing>=2.0.3,<2.4.0
13
pyelftools>=0.22
14
Please refer to the Get Started section of the ESP-IDF Programming Guide for setting up the required packages.
15
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.
16
/mnt/c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK//make/project.mk:247: recipe for target 'check_python_dependencies' failed
17
make: *** [check_python_dependencies] Error 1

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

Dann kam nach ca. 1 Minute warten diese Meldung:
1
Exception:
2
Traceback (most recent call last):
3
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
4
    status = self.run(options, args)
5
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 360, in run
6
    prefix=options.prefix_path,
7
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 784, in install
8
    **kwargs
9
  File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 851, in install
10
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
11
  File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
12
    isolated=self.isolated,
13
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 247, in move_wheel_files
14
    prefix=prefix,
15
  File "/usr/lib/python2.7/dist-packages/pip/locations.py", line 153, in distutils_scheme
16
    i.finalize_options()
17
  File "/usr/lib/python2.7/distutils/command/install.py", line 357, in finalize_options
18
    self.create_home_path()
19
  File "/usr/lib/python2.7/distutils/command/install.py", line 593, in create_home_path
20
    os.makedirs(path, 0700)
21
  File "/usr/lib/python2.7/os.py", line 150, in makedirs
22
    makedirs(head, mode)
23
  File "/usr/lib/python2.7/os.py", line 150, in makedirs
24
    makedirs(head, mode)
25
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
26
    mkdir(name, mode)
27
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:
1
$ mingw32-make
2
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.
3
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.
4
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:
1
$ mingw32-make                                                                                                          Makefile:8: c/Users/test/Documents/ESP8266/ESP8266_RTOS_SDK/make/project.mk: No such file or directory
2
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
OP #6084708
Lesenswert?

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

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

war:
1
sudo apt-get install libncurses-dev

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren