Skip to content
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

Unable to compile deal ii with LAPACK provided by cray-libsci #15916

Open
BenDavisonPetch opened this issue Aug 22, 2023 · 4 comments
Open

Unable to compile deal ii with LAPACK provided by cray-libsci #15916

BenDavisonPetch opened this issue Aug 22, 2023 · 4 comments

Comments

@BenDavisonPetch
Copy link

I'm trying to compile deal ii on ARCHER2 with LAPACK as a dependency. LAPACK is provided on the system via the cray-libsci module, but even with that module loaded deal ii cannot find LAPACK, even when given the libsci directory.

Logs are below.

CMakeError.log
CMakeOutput.log

The relevant cmake flags are -DWITH_LAPACK=ON -DLAPACK_DIR=${CRAY_LIBSCI_PREFIX_DIR}/lib
Cmake is unable to find LAPACK no matter what directory I put into LAPACK_DIR (whether it's the include directory, the parent directory, or lib). It is also unable to find LAPACK if I don't specify any directory and let it search. I imagine it's because the shared library objects in cray-libsci are not named what they're normally named in a standard LAPACK installation, even though the headers are the same.

@Rombur
Copy link
Member

Rombur commented Aug 22, 2023

You need to point to the library yourself. Something like

-DBLAS_LIBRARIES=${CRAY_LIBSCI_PREFIX_DIR}/lib/libsci_gnu.a -DLAPACK_LIBRARIES=${CRAY_LIBSCI_PREFIX_DIR}/lib/libsci_gnu.a

should work.

@BenDavisonPetch
Copy link
Author

I have just tried this and I am getting the same error, with all of the library objects available

@Rombur
Copy link
Member

Rombur commented Aug 22, 2023

Did you try out in a clean directory?

@jpthiele
Copy link
Contributor

deal.II is missing the header file(s), the correct option is in fact the parent folder, i.e.

-DLAPACK_DIR=${CRAY_LIBSCI_PREFIX_DIR}

You could retry it on a clean build directory together with

-DLAPACK_LIBRARIES=${CRAY_LIBSCI_PREFIX_DIR}/lib/libsci_gnu.a

Then, deal.II should be able to figure out the library to use.

However, for the AMD optimized libflame which produces lib/libflame.a
I did not have to specify the second option, so maybe just try the first option on a clean build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants