Skip to content

Installtion issues around VTK and BLAS libraries #384

@sassy-crick

Description

@sassy-crick

Dear all,

I am trying to install the fluidity-4.1.20 release as a user requested that to be installed on our cluster. The overall aim is to get it into our automatic build system and for this we are using EasyBuild.
That aside, there are some major problems with the current installation, unless I am getting things completely wrong.

For starters: we got VTK-9.2.2, PETSc-3.17.4, and HDF5-1.12.2 already installed on our cluster using GCC-11.3.0. So that is the framework we have and I want to build on top of that.

The configure.in file in the root directory, and in libadaptivity one has a few issues. For starters, it is configured to use version 5 or 6 of VTK when newer versions are clearly available. Next, the use of

    VTK_FLAGS=`cmake --find-package -DNAME=VTK -DCOMPILER_ID=gcc -DLANGUAGE=Fortran -DMODE=COMPILE`
    VTK_LIBS=`cmake --find-package -DNAME=VTK -DCOMPILER_ID=gcc -DLANGUAGE=Fortran -DMODE=LINK`

is not working and will never work. See here for the reason why. That trick might have worked with the older versions of VTK but is no longer working.

The cmake problem turns up at least at three different occasions

Also, it would be nice to add FlexiBLAS to configure when it is searching for BLAS, given the project has taken off quite a bit.

I managed with the help of some colleagues to get most things somehow working, but there is also a problem in the code:

Mesh_Quality_C.cpp: In function ‘void mesh_quality_c(int*, int*, int*, int*, int*, double*, int*, double*)’:
Mesh_Quality_C.cpp:82:19: error: ‘VTK_QUALITY_AREA’ was not declared in this scope
   82 |   if (*measure == VTK_QUALITY_AREA) {
      |                   ^~~~~~~~~~~~~~~~
Mesh_Quality_C.cpp:83:34: error: ‘VTK_QUALITY_VOLUME’ was not declared in this scope
   83 |     filter->SetTetQualityMeasure(VTK_QUALITY_VOLUME);
      |                                  ^~~~~~~~~~~~~~~~~~
gmake[1]: *** [Makefile:130: Mesh_Quality_C.o] Error 1
make: *** [Makefile:244: lib/libfluidity.a] Error 2

Finally:

  --enable-vtk            Only use to disable vtk

This is counter-intuitive and also not best practice. It would be better to do:

  --disable-vtk            To disable vtk

I would highly appreciate if these issues are being looked at as they currently stop me to install the code on the cluster. As suggested before, the use of cmake might be better suited for a modern Linux environment.

Thanks for your help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions