-
Notifications
You must be signed in to change notification settings - Fork 70
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
Can't build for Arm on Ubuntu 23.04 #845
Comments
btw, this only happens when you use try to containers like std::vector. |
I'm not seeing this on Ubuntu 23.10(same GCC version), or Arch(13.2.0). 🤔 |
This looks like it was suppose to be fixed by 9010610 but cmake is not downloading the newer libraries for some reason. |
After It had actually downloaded the correct zipfile (at least, the checksum matched what was in the CMakeLists) but seems that it didn't actually unpack it over what was already there. |
So if I delete the contents of stdlib and then build everything, it all builds correctly, even though stdlib directory does not get populated with files. That only happens if I do "reload cmake project" ie rerun cmake to generate makefiles. Then after that it still builds correctly. Is there anything we can do to make cmake try a bit harder to make sure it is actually using the right stuff? |
I guess this is the cmake only reading the toolchain on initial configure so any changes there require deleting the cache thing... |
It seems that way, but then I don't understand how it downloaded the newer zip but then did not use it. The libs don't get copied into the actual build directory, so where was it picking up the old ones from? If it downloaded the zip, why didn't it also unpack it, if that's the cause? It also turns out that when you delete the stdlib directory and don't re-run cmake, it uses the newlib bundled with the compiler. Do we actually still need to use a custom version or is the upstream one good now? |
I at least tried to fix it to extract the new zip in 4dad87e. If the stdlibs are entirely missing it just using the system ones as the linker flags end up something like I'd assume the default stdlibs still aren't built as position-independent as it's a bit of a size increase (plus we might be using some weird flags). Anyway, things will build with the system libs, but later crash in strange ways. (Sometimes not immediately because most function calls are relative anyway and non-readonly data isn't relocated) |
Error messages:
A quick Google search seems to indicate this happens when there is a mismatch between GCC and libstdc++ versions?
The text was updated successfully, but these errors were encountered: