Skip to content

[CI] Compile Uno with MUMPS#190

Merged
cvanaret merged 7 commits intocvanaret:mainfrom
amontoison:mumps_ci
Jun 30, 2025
Merged

[CI] Compile Uno with MUMPS#190
cvanaret merged 7 commits intocvanaret:mainfrom
amontoison:mumps_ci

Conversation

@amontoison
Copy link
Collaborator

@amontoison amontoison commented Jun 25, 2025

I cross-compiled MUMPS 5.8.0 (static mode) with METIS + reference BLAS / LAPACK.
-> https://github.com/amontoison/MUMPS_static_jll.jl

@amontoison amontoison requested a review from cvanaret June 25, 2025 23:46
@cvanaret
Copy link
Owner

Thanks Alexis!
So there seem to be two issues:

  • BQPD is somehow not found by the macOS build.
  • my logic in QPSolverFactory is flawed, it won't compile when no QP solver is available 😅
    I'll check the CI script.

Copy link
Owner

@cvanaret cvanaret left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Somehow some arguments of CMake are ignored. Investigating

@cvanaret
Copy link
Owner

@amontoison
METIS cannot be found for macOS. Can you set the METIS_LIBRARY path?

@amontoison
Copy link
Collaborator Author

amontoison commented Jun 26, 2025

Yes, I can do that :)
I am working in parallel with Iain Duff in Glasgow, do that asap.

@cvanaret
Copy link
Owner

@amontoison
Perfect! The only issue remaining is in unit-tests-ubuntu.yml: BLAS and LAPACK don't seem to be installed. Perhaps we can load an action there.

@amontoison
Copy link
Collaborator Author

amontoison commented Jun 26, 2025

libblas.a and liblapack.a are in the archive with libmetis.a and libdmumps.a so the issue is how you link it. ;)

@amontoison
Copy link
Collaborator Author

@cvanaret
Capture d’écran du 2025-06-26 13-44-47

@cvanaret
Copy link
Owner

Indeed!
Here's the CMake configuration:

-- Found BLAS: ./deps/lib/libblas.a
-- Found LAPACK: ./deps/lib/liblapack.a

then linking:

/usr/bin/ld: cannot find -l./deps/lib/libblas.a: No such file or directory
/usr/bin/ld: cannot find -l./deps/lib/liblapack.a: No such file or directory

@amontoison
Copy link
Collaborator Author

I think that the linking is done from a different folder that the "root" of Uno and the relative path is not valid anymore.
The question is why does it work for MUMPS and BQPD and not for BLAS / LAPACK?

@amontoison
Copy link
Collaborator Author

amontoison commented Jun 29, 2025

@cvanaret I added absolute paths everywhere and it fixed the issue. You should probably add a comment about it somewhere.
The current error is that you don't correctly link with BLAS / LAPACK in Uno.
If we have two libraries (one for BLAS and one for LAPACK), it seems that you only link to liblapack.a and not libblas.a, which is required by LAPACK.

@amontoison
Copy link
Collaborator Author

amontoison commented Jun 29, 2025

@cvanaret All tests passed, I fixed a bug in the CMakeLists.txt, we must link BLAS after LAPACK if they are static libraries.

@amontoison amontoison self-assigned this Jun 29, 2025
@amontoison amontoison added the CI Continuous Integration label Jun 29, 2025
@cvanaret cvanaret merged commit 40d1c23 into cvanaret:main Jun 30, 2025
14 checks passed
@cvanaret
Copy link
Owner

Wonderful, thank you for looking into this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Continuous Integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants