Closed wxie2017 closed 4 years ago
I'm now sure what the error is here, looks like it's not finding the file /home/wxie/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++
? This must be a problem with your build environment because my tests in travisCI pass, https://travis-ci.org/github/sudomesh/disaster-radio. Maybe make sure platformio is up to date (or maybe downgrade it)? I am using PlatformIO, version 4.3.5a1
, you can find this by running pio --version
.
Maybe try using the stable version of espressif32 by changing line 23 in platformio.ini to,
platform = espressif32
If this doesn't work, maybe figure out how to install the xtensa toolchain manually. This should be done automatically by platformio, but it seems like yours is not being installed properly (or it is installed in the wrong location?),
Thanks.
installation wxie@guix ~/work/disaster-radio/firmware$ sudo pip install -U platformio Passwort: Defaulting to user installation because normal site-packages is not writeable Collecting platformio Downloading platformio-4.3.4.tar.gz (190 kB) |████████████████████████████████| 190 kB 5.9 kB/s Collecting bottle<0.13 Downloading bottle-0.12.18-py3-none-any.whl (89 kB) |████████████████████████████████| 89 kB 22 kB/s Collecting click<8,>=5 Downloading click-7.1.2-py2.py3-none-any.whl (82 kB) |████████████████████████████████| 82 kB 12 kB/s Collecting colorama Downloading colorama-0.4.3-py2.py3-none-any.whl (15 kB) Collecting pyserial!=3.3,<4,>=3 Downloading pyserial-3.4-py2.py3-none-any.whl (193 kB) |████████████████████████████████| 193 kB 12 kB/s Collecting requests<3,>=2.4.0 Downloading requests-2.24.0-py2.py3-none-any.whl (61 kB) |████████████████████████████████| 61 kB 14 kB/s Collecting semantic_version<3,>=2.8.1 Downloading semantic_version-2.8.5-py2.py3-none-any.whl (15 kB) Collecting tabulate<1,>=0.8.3 Downloading tabulate-0.8.7-py3-none-any.whl (24 kB) Collecting pyelftools<1,>=0.25 Downloading pyelftools-0.26-py2.py3-none-any.whl (136 kB) |████████████████████████████████| 136 kB 17 kB/s Collecting marshmallow>=2 Downloading marshmallow-3.7.1-py2.py3-none-any.whl (45 kB) |████████████████████████████████| 45 kB 12 kB/s Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 Downloading urllib3-1.25.10-py2.py3-none-any.whl (127 kB) |████████████████████████████████| 127 kB 17 kB/s Collecting idna<3,>=2.5 Downloading idna-2.10-py2.py3-none-any.whl (58 kB) |████████████████████████████████| 58 kB 10 kB/s Collecting certifi>=2017.4.17 Downloading certifi-2020.6.20-py2.py3-none-any.whl (156 kB) |████████████████████████████████| 156 kB 11 kB/s Collecting chardet<4,>=3.0.2 Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB) |████████████████████████████████| 133 kB 9.9 kB/s Installing collected packages: bottle, click, colorama, pyserial, urllib3, idna, certifi, chardet, requests, semantic-version, tabulate, pyelftools, marshmallow, platformio WARNING: The script chardetect is installed in '/root/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script tabulate is installed in '/root/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Running setup.py install for platformio ... done Successfully installed bottle-0.12.18 certifi-2020.6.20 chardet-3.0.4 click-7.1.2 colorama-0.4.3 idna-2.10 marshmallow-3.7.1 platformio-4.3.4 pyelftools-0.26 pyserial-3.4 requests-2.24.0 semantic-version-2.8.5 tabulate-0.8.7 urllib3-1.25.10
version wxie@guix ~/work/disaster-radio/firmware$ ~/.local/bin/pio --version PlatformIO, version 4.3.4
tools wxie@guix ~/work/disaster-radio/firmware$ ls -al ~/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++ -rwxr-xr-x 1 wxie users 806184 9. Jan 2018 /home/wxie/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++ wxie@guix ~/work/disaster-radio/firmware$ ~/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++ --version bash: /home/wxie/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: Datei oder Verzeichnis nicht gefunden wxie@guix ~/work/disaster-radio/firmware$ ls -al ~/.platformio/packages/toolchain-xtensa32/bin/ insgesamt 21188 drwxr-xr-x 2 wxie users 4096 6. Aug 16:59 ./ drwx------ 8 wxie users 4096 6. Aug 16:59 ../ -rwxr-xr-x 1 wxie users 860872 9. Jan 2018 xtensa-esp32-elf-addr2line -rwxr-xr-x 1 wxie users 889104 9. Jan 2018 xtensa-esp32-elf-ar -rwxr-xr-x 1 wxie users 1197000 9. Jan 2018 xtensa-esp32-elf-as lrwxrwxrwx 1 wxie users 20 6. Aug 16:59 xtensa-esp32-elf-c++ -> xtensa-esp32-elf-g++ lrwxrwxrwx 1 wxie users 20 6. Aug 16:59 xtensa-esp32-elf-cc -> xtensa-esp32-elf-gcc -rwxr-xr-x 1 wxie users 858760 9. Jan 2018 xtensa-esp32-elf-c++filt -rwxr-xr-x 1 wxie users 805032 9. Jan 2018 xtensa-esp32-elf-cpp -rwxr-xr-x 1 wxie users 2908 9. Jan 2018 xtensa-esp32-elf-ct-ng.config -rwxr-xr-x 1 wxie users 28104 9. Jan 2018 xtensa-esp32-elf-elfedit -rwxr-xr-x 1 wxie users 806184 9. Jan 2018 xtensa-esp32-elf-g++ -rwxr-xr-x 1 wxie users 802984 9. Jan 2018 xtensa-esp32-elf-gcc lrwxrwxrwx 1 wxie users 20 6. Aug 16:59 xtensa-esp32-elf-gcc-5.2.0 -> xtensa-esp32-elf-gcc -rwxr-xr-x 1 wxie users 26104 9. Jan 2018 xtensa-esp32-elf-gcc-ar -rwxr-xr-x 1 wxie users 26040 9. Jan 2018 xtensa-esp32-elf-gcc-nm -rwxr-xr-x 1 wxie users 26104 9. Jan 2018 xtensa-esp32-elf-gcc-ranlib -rwxr-xr-x 1 wxie users 425704 9. Jan 2018 xtensa-esp32-elf-gcov -rwxr-xr-x 1 wxie users 384736 9. Jan 2018 xtensa-esp32-elf-gcov-tool -rwxr-xr-x 1 wxie users 5167632 9. Jan 2018 xtensa-esp32-elf-gdb -rwxr-xr-x 1 wxie users 925896 9. Jan 2018 xtensa-esp32-elf-gprof -rwxr-xr-x 1 wxie users 1201552 9. Jan 2018 xtensa-esp32-elf-ld lrwxrwxrwx 1 wxie users 19 6. Aug 16:59 xtensa-esp32-elf-ld.bfd -> xtensa-esp32-elf-ld -rwxr-xr-x 1 wxie users 873032 9. Jan 2018 xtensa-esp32-elf-nm -rwxr-xr-x 1 wxie users 1044680 9. Jan 2018 xtensa-esp32-elf-objcopy -rwxr-xr-x 1 wxie users 1170496 9. Jan 2018 xtensa-esp32-elf-objdump -rwxr-xr-x 1 wxie users 889104 9. Jan 2018 xtensa-esp32-elf-ranlib -rwxr-xr-x 1 wxie users 449256 9. Jan 2018 xtensa-esp32-elf-readelf -rwxr-xr-x 1 wxie users 861704 9. Jan 2018 xtensa-esp32-elf-size -rwxr-xr-x 1 wxie users 860936 9. Jan 2018 xtensa-esp32-elf-strings -rwxr-xr-x 1 wxie users 1044744 9. Jan 2018 xtensa-esp32-elf-strip
Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/ttgo-lora32-v1.html
PLATFORM: Espressif 32 1.12.4 #08ef4bf > TTGO LoRa32-OLED V1
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
Environment Status Duration
ttgo-lora32-v1 IGNORED ttgo-lora32-v2 FAILED 00:00:00.688 ttgo-lora32-tbeam IGNORED heltec-v2 IGNORED sparkfun-lora IGNORED lopy4 IGNORED ================================================== 1 failed, 0 succeeded in 00:00:00.688 ==================================================
I use guix 1.1.0
How to solve it?
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/ttgo-lora32-v1.html PLATFORM: Espressif 32 1.12.4 #08ef4bf (git+https://github.com/platformio/platform-espressif32.git) > TTGO LoRa32-OLED V1 HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) PACKAGES:
A new, customizable Arduino NMEA parsing library
Keywords: gps, nmea Compatible frameworks: Arduino Compatible platforms: Infineon XMC, Kendryte K210, GigaDevice GD32V, ASR Microelectronics ASR605x, Atmel AVR, Atmel SAM, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, ST STM32, Teensy, TI MSP430, TI TIVA, Espressif 32, Nordic nRF52, ST STM8, Atmel megaAVR Authors: Mikal Hart
File "C:\Users\rossm\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\platformio\builder\main.py", line 168:
A port of Mikal Hart's TinyGPS++ version 1.0.2 to mbed. File "C:\Users\rossm.platformio\packages\tool-scons\script..\engine\SCons\Script\SConscript.py", line 597:
return _SConscript(self.fs, *files, **subst_kw)
Compatible frameworks: Mbed Compatible platforms: Atmel SAM, Freescale Kinetis, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32, Teensy, Nordic nRF52, Maxim 32, WIZNet W7500, RISC-V GAP, NXP i.MX RT File "C:\Users\rossm.platformio\packages\tool-scons\script..\engine\SCons\Script\SConscript.py", line 286: Authors: Shigeru Fujiwara exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
env.ProcessProjectDeps()
File "C:\Users\rossm.platformio\packages\tool-scons\script..\engine\SCons\Environment.py", line 219: mbed port of the TinyGPSPlus library for Arduino, by Mikal Hart. The port is heavily inspired by Sergey Drobyshevskiy (dROb)'s port of the TinyGPS library. return self.method(*nargs, **kwargs)
Keywords: gps, mkt3339, tinygps File "C:\Users\rossm\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\platformio\builder\tools\platformio.py", line 131: Compatible frameworks: Mbed project_lib_builder = env.ConfigureProjectLibBuilder() Compatible platforms: Atmel SAM, Freescale Kinetis, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32, Teensy, Nordic nRF52, Maxim 32, WIZNet W7500, RISC-V GAP, NXP i.MX RT File "C:\Users\rossm.platformio\packages\tool-scons\script..\engine\SCons\Environment.py", line 219: return self.method(*nargs, **kwargs) File "C:\Users\rossm\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\platformio\builder\tools\piolib.py", line 1036: project.install_dependencies() File "C:\Users\rossm\AppData\Local\Programs\Python\Python38-32\Lib\site-packages\platformio\builder\tools\piolib.py", line 868: lm.install(uri) File "c:\users\rossm\appdata\local\programs\python\python38-32\lib\site-packages\platformio\managers\lib.py", line 269: name = "id=%d" % self.search_lib_id( File "c:\users\rossm\appdata\local\programs\python\python38-32\lib\site-packages\platformio\managers\lib.py", line 183: print_lib_item(item) File "c:\users\rossm\appdata\local\programs\python\python38-32\lib\site-packages\platformio\commands\lib.py", line 622: click.echo( File "c:\users\rossm\appdata\local\programs\python\python38-32\lib\site-packages\click\utils.py", line 272: file.write(message) File "c:\users\rossm\appdata\local\programs\python\python38-32\lib\site-packages\click_compat.py", line 710: return _write(s) File "c:\users\rossm\appdata\local\programs\python\python38-32\lib\site-packages\colorama\ansitowin32.py", line 41: self.__convertor.write(text) File "c:\users\rossm\appdata\local\programs\python\python38-32\lib\site-packages\colorama\ansitowin32.py", line 164: self.wrapped.write(text) File "C:\Users\rossm.platformio\packages\tool-scons\script..\engine\SCons\Util.py", line 1353: self.file.write(arg) File "c:\users\rossm\appdata\local\programs\python\python38-32\lib\encodings\cp1252.py", line 19: return codecs.charmap_encode(input,self.errors,encoding_table)[0] ======================================================================= [FAILED] Took 1.27 seconds =======================================================================
Environment Status Duration
ttgo-lora32-v1 IGNORED ttgo-lora32-v2 FAILED 00:00:01.274 ttgo-lora32-tbeam IGNORED heltec-v2 IGNORED sparkfun-lora IGNORED lopy4 IGNORED ================================================================== 1 failed, 0 succeeded in 00:00:01.274 ==================================================================`
i'm not sure what purpose tinygps serves in this build, but i found that by commenting out all references to tinygpsplus i was able to compile just fine edit, make sure not to try compiling master, v1.0.0 doesnt have the same serial errors that master has in my findings
Interesting @rawesomeawesome your discovery about TinyGPS, that is not used for anything in the on the TTGO v2 dev board because it doesn't have a GPS. Maybe we could put a HAS_GPS
build flag to control whether or not gps related code is compiled. I'd be interested to see what all you had to comment out.
@wxie2017 you are on older version of platformio (PlatformIO, version 4.3.4). Would you mind updating to the dev branch by running the following,
pio upgrade --dev
pio update
And see if that makes a difference. Everything else about your environment looks that same. You could also try @rawesomeawesome suggestion of removing all references to TinyGPS.
@rawesomeawesome you are not pulling tagged version of TinyGPS, which means you are mostly likely using the latest commit, that is probably why it isn't working. Try pulling the version 1.0.2
(https://github.com/mikalhart/TinyGPSPlus/releases/tag/v1.0.2) by putting @1.0.2
after the library, like in my platformio.ini.
@wxie2017 I downgraded my platformio to 4.3.4 and had no problems compiling. Is there anyway you can try compiling in a clean environment (like a VM)? I've never used guix, I'm mostly on Ubuntu 18.04.
@wxie2017 you are on older version of platformio (PlatformIO, version 4.3.4). Would you mind updating to the dev branch by running the following,
pio upgrade --dev pio update
And see if that makes a difference. Everything else about your environment looks that same. You could also try @rawesomeawesome suggestion of removing all references to TinyGPS.
The upgrade failed:
wxie@guix ~/work/disaster-radio/firmware$ ~/.local/bin/pio upgrade --dev Please wait while upgrading PlatformIO ... Error: ['/gnu/store/11l2qmzfgsp7k345mv6x1vn64q8330kw-python-wrapper-3.8.2/bin/python', '-m', 'pip', '--no-cache-dir', 'install', '--upgrade', '/home/wxie/.platformio/.cache/piocoredevelop.zip']
Traceback (most recent call last):
File "/gnu/store/09a5iq080g9b641jyl363dr5jkkvnhcn-python-3.8.2/lib/python3.8/runpy.py", line 193, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/gnu/store/09a5iq080g9b641jyl363dr5jkkvnhcn-python-3.8.2/lib/python3.8/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/home/wxie/.guix-profile/lib/python3.8/site-packages/pip/main.py", line 16, in
pip install -U platformio
@wxie2017 I downgraded my platformio to 4.3.4 and had no problems compiling. Is there anyway you can try compiling in a clean environment (like a VM)? I've never used guix, I'm mostly on Ubuntu 18.04.
That's sad news.
I will try from Debian GNU.
@wxie2017 I downgraded my platformio to 4.3.4 and had no problems compiling. Is there anyway you can try compiling in a clean environment (like a VM)? I've never used guix, I'm mostly on Ubuntu 18.04.
That's sad news.
I will try from Debian GNU.
firmware build on Debian Buster is ok. Building .pio/build/ttgo-lora32-v2/firmware.bin Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [== ] 20.5% (used 67156 bytes from 327680 bytes) Flash: [========= ] 86.4% (used 1755417 bytes from 2031616 bytes) esptool.py v2.6 ========================== [SUCCESS] Took 192.09 seconds ==========================
Environment Status Duration
ttgo-lora32-v1 IGNORED ttgo-lora32-v2 SUCCESS 00:03:12.088 ttgo-lora32-tbeam IGNORED heltec-v2 IGNORED sparkfun-lora IGNORED lopy4 IGNORED =========================== 1 succeeded in 00:03:12.088 ===========================
Cool stuff. That's good to know it can be built on Debian. i was pretty sure I used to build it on debian, but that was a few years ago, so it's good to have that confirmed.
I'm gonna close this issue and label it as "wontfix". Unless you plan on revisiting the guix build sometime soon?
wxie@guix ~/work/disaster-radio/firmware$ ~/.local/bin/pio run --verbose Processing ttgo-lora32-v2 (board: ttgo-lora32-v1; build_flags: -DTTGO_LORA_V2, -DARDUINO_LORA, -DHAS_OLED, -I./src; platform: https://github.com/platformio/platform-espressif32.git; framework: arduino; upload_port: /dev/ttyUSB0; monitor_port: /dev/ttyUSB0; monitor_speed: 115200; board_build.partitions: custompart.csv; lib_deps: AsyncTCP, ESP Async WebServer@1.2.3, LoRa@0.7.2, https://github.com/jgromes/RadioLib#3682c6c9215891e3afb7672f1235fde1c3bd75fd, https://github.com/sudomesh/LoRaLayer2#1e2204ebaa7f81b8d06853fedb92ab0ddc9b9414, https://github.com/paidforby/AsyncSDServer#13375c6be978cb34180378ecf4042a3a4a1f5eab, ESP8266 and ESP32 OLED driver for SSD1306 displays, TinyGPSPlus@1.0.2, ArduinoJson)
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/ttgo-lora32-v1.html PLATFORM: Espressif 32 1.12.4 #08ef4bf (git+https://github.com/platformio/platform-espressif32.git) > TTGO LoRa32-OLED V1 HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) PACKAGES:
Environment Status Duration
ttgo-lora32-v1 IGNORED ttgo-lora32-v2 FAILED 00:00:00.661 ttgo-lora32-tbeam IGNORED heltec-v2 IGNORED sparkfun-lora IGNORED lopy4 IGNORED ================================================== 1 failed, 0 succeeded in 00:00:00.661 ==================================================
What's the problem?