-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Build compatibility with Clang 10 and Ubuntu 20.04 #6600
Comments
@Fly-Style @ppenzin does one of you have an Ubuntu 20 machine you could experiment with this on? My preference would be to delete these PAL math methods if possible - will have to check if/how they're used and if/how the posix definitions of them differ to the windows CRT versions. (There's a reasonably chance they're not used at all - PAL has some stuff in that we don't actually use) |
I just got a WSL instance with Ubuntu 20. An example of the errors (MSVC failure is unrelated): https://dev.azure.com/ChakraCoreEngine/ChakraCore/_build/results?buildId=195 CMake part of the build works, but fails in compilation. |
I've deleted libc-like symbols from pal in #6604, but there are a bunch of "declaration overloads template parameter" errors after that - they are not only coming from PAL, but also from data structures in main sources. |
Just found we had a previous issue for this which I'd forgotten about #6466 Also, CC builds on macOS with AppleClang 12 (which IS Clang 10) so was wondering why it would fail on linux. This may be the issue, in our root CMakeLists.txt we specific C (-std=gnu99) and C++ (-std=gnu++11) standards versions when building on macOS but not when building on linux: Lines 280 to 312 in 47d31de
EDIT: not so sure - tried building without those and it still builds offline, but may still be a worth a try on linux AND we also do this which should have the same effect for C++ though maybe not for C? Line 348 in 47d31de
|
This won't get added to C++ files, I just tried that, as well as moving the PAL definition. I am sure this is solvable though. |
Drive by cleanup - build all wabt files in the build directory. Disambiguate template parameter names. Overloading a template parameter by a declaration (including in parameters to nested templates) is treated as an error by Clang 10. PAL math and memory API clean up (also for chakra-core#6404). Remove PAL redefintions of system functions with incompatible exception declarations. Remove externally visible redifinitions of math and memory management functions. Delete corresponding math function implementations, as they pretty much call their system counterparts. Hide memory management functions, since they are still used from inside of PAL. [CI] Use Ubuntu 20.04 image for default Linux builds. Change default Linux image to Ubuntu 20.04. Add two extra build jobs for Ubuntu 18.04. Closes chakra-core#6600
CC fails to build on Ubuntu 20 with the following output, this should be fixed ASAP:
The text was updated successfully, but these errors were encountered: