Skip to content

CVODE LAPACK support not functional but CI passes #458

@kilicomu

Description

@kilicomu

Hi guys.

I've been down a bit of a rabbit hole with the CVODE installation over the past couple of days, and I think there is something awry with the way in which CVODE is being installed via install_cvode.sh.

The CI action for installing CVODE on both Ubuntu and MacOS is getting past looking for LAPACK libraries:

-- Looking for LAPACK libraries... OK

(https://github.com/AtChem/AtChem2/runs/3231872288#step:5:321)

but the LAPACK functionality test is failing:

WARNING: LAPACK not functional.
-- Checking if Lapack works... FAILED
   Blas/Lapack support will not be provided.

(https://github.com/AtChem/AtChem2/runs/3231872288#step:5:328)

I think it's failing firstly because of the : character in the LAPACK_LIBS variable:

if [ "$OS" = 'Darwin' ]; then
LAPACK_LIBS=/usr/lib/liblapack.dylib:/usr/lib/libblas.dylib
else
LAPACK_LIBS=/usr/lib/liblapack.so:/usr/lib/libblas.so
fi

which you can confirm by going into the sundials-2.7.0/build/LapackTest directory and running make, e.g:

...

CMakeFiles/ltest.dir/build.make:98: *** target pattern contains no `%'.  Stop.
make[2]: Leaving directory `/mnt/lustre/users/klcm500/AtChem2/BUILD_ISSUES/dependencies_lapack/sundials-2.7.0/build/LapackTest'
make[1]: *** [CMakeFiles/ltest.dir/all] Error 2
make[1]: Leaving directory `/mnt/lustre/users/klcm500/AtChem2/BUILD_ISSUES/dependencies_lapack/sundials-2.7.0/build/LapackTest'
make: *** [all] Error 2

What happens next, I think, depends entirely on which LAPACK / BLAS libraries are installed on your system. When I can get the LAPACK test to pass for CVODE by point it directly at an existing libopenblas.so, I end up with undefined references to some BLAS symbols in the CVODE libraries which propagate through to the build of AtChem2.

Long story short:

  1. I don't think LAPACK support is working as described by the manual and as attempted to enable in CI
  2. The model seems to run just fine without it, so, do we want to just disable LAPACK support in the CVODE installation with -DENABLE_LAPACK:BOOL=OFF?

From what I can tell on our system, it works just fine without LAPACK support!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions