-
-
Notifications
You must be signed in to change notification settings - Fork 388
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
esp32-c3 linker errors, project works fine on windows #2706
Comments
Could you provide a link to the project and to the failing CI?
Probably the failure is not due to a change in the code but to an external factor.
Yes, actually if you could provide a link to the failing CI we may try to fork it and try to debug it. |
Ah I see that you can reproduce it locally, (sorry I read it too quickly), then yes, please provide a minimal example to reproduce it. |
So I just deleted all the files in my project and had nothing but 2 files: the main .ino and a secondary cpp. I had the setup/init I show above and some empty functions for the VortexEngine::init/tick in the other file. I was able to reproduce it like that. But then I tried removing things from the Makefile and I found when I remove I use this to pass my version number and -D flags to the compiler. my makefile: build:
$(ARDUINO_CLI) compile --fqbn $(BOARD) $(PROJECT_NAME) \
--config-file $(CONFIG_FILE) \
--build-path $(BUILD_PATH) \
--build-property compiler.cpp.extra_flags="$(DEFINES)" \
--build-property compiler.c.extra_flags="$(DEFINES)" Specifically the last lines, when I remove those it seems to work but when they are present it seems to cause issues: --build-property compiler.cpp.extra_flags="$(DEFINES)" \
--build-property compiler.c.extra_flags="$(DEFINES)" I use this to pass the -D flag for some constants I want to define in the build |
Hi @Unreal-Dan
Unfortunately the "esp32" boards platform developers have unnecessarily used the https://github.com/espressif/arduino-esp32/blob/3.0.4/platform.txt#L69
When you use the The You can report the abuse of the We are tracking the need to do a better job of encouraging platform developers to provide a set of properties for the exclusive use of the platform user here: #846 |
Ah wonderful, that fixed it and it isn't a big deal to solve. I'll keep an eye on this, thanks |
Describe the problem
My project randomly started failing it's CI on github, which uses linux and arduino-cli to build the project.
When building the project on windows with arduino IDE everything works fine, and previously on linux the CI would build just fine.
But... Now, when building my project with arduino-cli on linux I receive these errors:
The linker errors are for basic function calls in setup/loop:
This same code builds fine in arduino IDE on windows, and it was working fine then just randomly broke:
The change that made it break was a simple Doxygen file change, not even related to code, and the CI for the build started failing after that.
I can reproduce it locally on my linux, and I'm not sure where the problem is so I'm coming here.
To reproduce
I guess you could try and build my project, I don't have a minimally reproducible example. Let me know if you want commands to build the project.
Expected behavior
It builds
Arduino CLI version
arduino-cli Version: 1.0.4 Commit: a0d912d Date: 2024-08-12T13:42:36Z
Operating system
Linux
Operating system version
Ubuntu 20.04.1 LTS
Additional context
No response
Issue checklist
The text was updated successfully, but these errors were encountered: