-
Notifications
You must be signed in to change notification settings - Fork 444
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
Windows build with cmake intel fortran broken #583
Comments
Hi @billhoffman, I didn't get link errors in my Ubuntu using GNU compilers, GCC version 7.5.0. Can you post the error message here? Thanks, |
Likely because that file works with the gnu linking conventions. The error you get is when it links lapacke all of the fortran symbols are missing. Creating library lib\lapacke.lib and object lib\lapacke.exp That should be ILAVER and SBBCSD and not lower case with an _. If I remove LAPACKE/include/lapacke_mangling.h it builds and links without error. |
I think this is the correct solution, thanks @billhoffman! The header Lines 53 to 55 in 34c8291
I will propose a PR very soon. |
Please, see #584. |
Thanks, LGTM. |
Description
When building on Windows with cmake or perhaps any OS, the file LAPACKE/include/lapacke_mangling.h is picked up by the compiler. Insead of the cmake generated version of that found in the build tree in ./include/lapacke_mangling.h. This gets the incorrect name mangling and you get linker errors when building LAPACKE as a shared library.
To reproduce do this:
cmake -GNinja -DLAPACKE=ON -DBUILD_SHARED_LIBS=ON ..
ninja
I am not sure how you want to fix it. I guess you could move LAPACKE/include/lapacke_mangling.h to a directory that is only referenced in the Makefile.
Checklist
The text was updated successfully, but these errors were encountered: