-
Notifications
You must be signed in to change notification settings - Fork 7
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
Compile problems with the philhower RP2040 core #3
Comments
Also, when i run Nevertheless, even after I linked every single .a file from the subdirectories into the main build directory, I still get that same error about a missing symbol:
In this case, I symlinked The thing is, it seems like this stuff would be just as wrong for the ESP32 core as for the RP2040 core. The examples are in subdirectories either way. But the docs in this repo say that ESP32 compiles work? Can you confirm? I wonder if this is because I'm using a different version of g++? It's |
I'm sorry that I don't have a quicker grasp of the build tools involved here (I was conflating the gcc meanings of There is a generated file, The thing is, I'm not sure whether it's expecting to find the version of If I first copy the library from Is there any kind of doc or map that explains the genesis of the various generated build files? How do we trace these errors upstream to a source? I guess I don't understand cmake too deeply, but every cmake tutorial example I've looked at is way less complicated than what's going on here. |
Continuing the odyssey in these comments here as I bang my head against the problem ... These compile commands come out of Arduino build properties that are "recipies." and the one that is failing comes from the build property |
Update: I have found that even though I'm having trouble getting the examples in this repo to compile, I have gotten it to work in another repo of mine; all the libraries were found, and used, and compilation was successful without any tweaking necessary. I don't get why it's these examples in particular that give me trouble. |
Hi, i'm importing my issue from the upstream fork to here ... basically I'm wishing I could get this toolchain working for the RP2040 core I'm using. The
readme
suggests that it's known to work on ESP32 and could in theory work with any other Arduino core. But if that's not even your goal, then I won't pursue this any further.At the moment I'm not able to compile all of the examples, though I can compile some of them. The issues seem to be due to various components of the RP2040 core not being found.
This is my
cmake
command:The options all appear correct to me.
The first problem I get when trying to make any of the targets is that the final link step fails, with this sort of error:
The build is looking for
memmap_default.ld
in the wrong place. It gets built, but it's in the example subdirectory, one directory under the main build directory where the build is searching. If I link that file from where it was built to where the build is searching, then I see the same problem with another file,boot2.o
. If i link that file as well, then some of the examples finally appear to build correctly.However I still can't build
hello_world
, because of another linker error:This looks to me like the linker is not finding the compiled Adafruit_TinyUSB classes. (
_ZN17Adafruit_USBD_CDC5beginEm
looks to me like a GCC-encoded method name.) I'm not sure if it intends to be looking for the version included with the examples in02_arduino_lib
(which do appear to build correctly) or whether it's trying to find the version provided with the RP2040 core (which cmake found OK, as logged above.)So all of this seems to come down to link-stage errors. Maybe the linker, or the compiler that calls it, needs to be provided with more library paths? I'm really not sure how to debug this further because it's running into the border between the cmake package and the rp2040 core & I don't know which side is responsible for these compiler invocations.
Any help would be much appreciated!
The text was updated successfully, but these errors were encountered: