-
Notifications
You must be signed in to change notification settings - Fork 82
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
SSE is detected incorrectly on ARM cpu with Clang #1197
Comments
Or should be SSE disabled in Osmin? cc @janbar |
With Karry's suggested modifications (thanks for the support) and the following prerequisites I was able to complete the build on the PinePhone Manjaro/Phosh-dev (packages)
I assume the missing QtPositioning indicates a missing positioning package. However, I can only find it in the gt6 version. 🥴 |
The last missing package was |
Clang allows -msse* compiler flags even with arm cpu target, so cmake check check_c_compiler_flag return success. But sse instructions are not supported on arm, so build fails later. Because of that, we should try to compile simple sse program to verify that sse really works. Should solve Framstag#1197
Great to hear that Osmin, libosmscout-based application may run on another platform... Ok, it is just another Linux distribution, but mobile distribution :-) Closing this issue as SSE detection should work properly now. |
Very late, but better later than never. Yes SSE is disabled when cmake build on ANDROID. I didn't think the app could be build for a Linux distribution on ARM cpu. @Karry thanks for adding the check on configure. |
On Czech OSM mailing list, I suggested to one user with Pinephone and Posh to try Osmin. But he replied that compilation fails (with Clang). Osmin setup OSMSCOUT_ENABLE_SSE to true when it is not compiling for Android. It should not be problem, build system should detect when SSE is available for current platform. It works fine with GCC, but Clang tries to compile SSE code on arm cpu!
I was able to reproduce it on my Raspberry:
It is check by this cmake function:
check_c_compiler_flag(-msse2 HAVE_SSE2)
. It seems that we should verify function availability bytry_compile()
The text was updated successfully, but these errors were encountered: