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

Compliation Error when Compiling for ESP32 #700

Open
stefansal opened this issue Aug 25, 2024 · 1 comment
Open

Compliation Error when Compiling for ESP32 #700

stefansal opened this issue Aug 25, 2024 · 1 comment

Comments

@stefansal
Copy link

I am successfully able to compile for the ESP8266, however when trying to compile for the ESP32 I am getting the following errors.
I have updated the library (1.9.7) and boards (esp32 Version 3.0.4) to the latest versions. I think there is an incompatibility with ESP32 in its current version.
I am using Arduino 2.3.2 on Windows 11 with an ESP32 (DOIT ESP32 DEVKIT V1).

`In file included from c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioGeneratorMIDI.cpp:69:
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\libtinysoundfont/tsf.h: In function 'void tsf_channel_midi_control(tsf*, int, int, int)':
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\libtinysoundfont/tsf.h:2100:1: error: insn does not satisfy its constraints:
2100 | }
| ^
(insn 883 353 354 51 (set (reg:SF 19 f0 [371])
(mem/u/c:SF (symbol_ref/u:SI (".LC223") [flags 0x2]) [0 S4 A32])) "c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\libtinysoundfont/tsf.h":2053:106 49 {movsf_internal}
(nil))
during RTL pass: postreload
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\libtinysoundfont/tsf.h:2100:1: internal compiler error: in extract_constrain_insn, at recog.cc:2692
libbacktrace could not find executable to open
Please submit a full bug report, with preprocessed source (by using -freport-bug).
See https://gcc.gnu.org/bugs/ for instructions.
In file included from c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.h:31,
from c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp:28:
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.h:56:5: error: 'WiFiClient' does not name a type
56 | WiFiClient client;
| ^~~~~~~~~~
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp: In member function 'virtual bool AudioFileSourceICYStream::open(const char
)':
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp:49:14: error: 'client' was not declared in this scope; did you mean 'Client'?
49 | http.begin(client, url);
| ^~~~~~
| Client
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp: In member function 'virtual uint32_t AudioFileSourceICYStream::readInternal(void*, uint32_t, bool)':
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp:118:3: error: 'WiFiClient' was not declared in this scope
118 | WiFiClient stream = http.getStreamPtr();
| ^~~~~~~~~~
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp:118:15: error: 'stream' was not declared in this scope; did you mean 'std::io_errc::stream'?
118 | WiFiClient stream = http.getStreamPtr();
| ^~~~~~
| std::io_errc::stream
In file included from c:\users\USER1\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\ios:42,
from c:\users\USER1\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\ostream:38,
from c:\users\USER1\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\unique_ptr.h:41,
from c:\users\USER1\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\memory:76,
from C:\Users\USER1\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.4\libraries\HTTPClient\src/HTTPClient.h:34,
from c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.h:26:
c:\users\USER1\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\ios_base.h:204:24: note: 'std::io_errc::stream' declared here
204 | enum class io_errc { stream = 1 };
| ^~~~~~
In file included from c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp:23:
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.h:56:5: error: 'WiFiClient' does not name a type
56 | WiFiClient client;
| ^~~~~~~~~~
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp: In member function 'virtual bool AudioFileSourceHTTPStream::open(const char
)':
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp:42:14: error: 'client' was not declared in this scope; did you mean 'Client'?
42 | http.begin(client, url);
| ^~~~~~
| Client
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp: In member function 'virtual uint32_t AudioFileSourceHTTPStream::readInternal(void
, uint32_t, bool)':
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp:105:3: error: 'WiFiClient' was not declared in this scope
105 | WiFiClient *stream = http.getStreamPtr();
| ^~~~~~~~~~
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp:105:15: error: 'stream' was not declared in this scope; did you mean 'std::io_errc::stream'?
105 | WiFiClient *stream = http.getStreamPtr();
| ^~~~~~
| std::io_errc::stream
In file included from c:\users\USER1\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\ios:42,
from c:\users\USER1\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\ostream:38,
from c:\users\USER1\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\unique_ptr.h:41,
from c:\users\USER1\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\memory:76,
from C:\Users\USER1\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.4\libraries\HTTPClient\src/HTTPClient.h:34,
from c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.h:26:
c:\users\USER1\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\ios_base.h:204:24: note: 'std::io_errc::stream' declared here
204 | enum class io_errc { stream = 1 };
| ^~~~~~
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputI2S.cpp: In member function 'bool AudioOutputI2S::begin(bool)':
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputI2S.cpp:168:9: error: 'esp_chip_info_t' was not declared in this scope
168 | esp_chip_info_t out_info;
| ^~~~~~~~~~~~~~~
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputI2S.cpp:169:24: error: 'out_info' was not declared in this scope
169 | esp_chip_info(&out_info);
| ^~~~~~~~
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputI2S.cpp:169:9: error: 'esp_chip_info' was not declared in this scope
169 | esp_chip_info(&out_info);
| ^~~~~~~~~~~~~
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputI2S.cpp:232:28: error: 'I2S_MCLK_MULTIPLE_DEFAULT' was not declared in this scope; did you mean 'I2S_MCLK_MULTIPLE_512'?
232 | .mclk_multiple = I2S_MCLK_MULTIPLE_DEFAULT, // Unused
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| I2S_MCLK_MULTIPLE_512
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputSPDIF.cpp: In constructor 'AudioOutputSPDIF::AudioOutputSPDIF(int, int, int)':
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputSPDIF.cpp:108:22: error: 'I2S_MCLK_MULTIPLE_DEFAULT' was not declared in this scope; did you mean 'I2S_MCLK_MULTIPLE_512'?
108 | .mclk_multiple = I2S_MCLK_MULTIPLE_DEFAULT, // Unused
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| I2S_MCLK_MULTIPLE_512
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputSPDIF.cpp: In member function 'virtual bool AudioOutputSPDIF::SetRate(int)':
c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputSPDIF.cpp:186:26: error: too many arguments to function 'void rtc_clk_apll_enable(bool)'
186 | rtc_clk_apll_enable(1, 28, 8, 5, 0);
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
In file included from c:\Users\USER1\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputSPDIF.cpp:45:
C:\Users\USER1\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-b6b4727c58\esp32/include/soc/esp32/include/soc/rtc.h:242:6: note: declared here
242 | void rtc_clk_apll_enable(bool enable);
| ^~~~~~~~~~~~~~~~~~~
Multiple libraries were found for "SD.h"
Used: C:\Users\USER1\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.4\libraries\SD
Not used: C:\Users\USER1\AppData\Local\Arduino15\libraries\SD
Not used: C:\Users\USER1\Documents\Arduino\libraries\SD
exit status 1

Compilation error: exit status 1`

Repository owner deleted a comment Aug 26, 2024
Repository owner deleted a comment Aug 26, 2024
Repository owner deleted a comment Aug 26, 2024
Repository owner deleted a comment Aug 26, 2024
Repository owner deleted a comment Aug 26, 2024
Repository owner deleted a comment Aug 26, 2024
@SteveNotSet
Copy link

SteveNotSet commented Sep 6, 2024

Try this in AudioGeneratorMIDI.cpp:
#pragma GCC optimize ("O2")
The default value is O3. I tried changing it to O2 and force compiling on ESP32 GCC>8, it just works.

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

No branches or pull requests

2 participants