Closed nsoblath closed 2 years ago
OK, I got a bit of progress with this. Looking at your Docker file helped. The missing libraries on Ubuntu are: libsuitesparse-dev and libopenblas-serial-dev. After installing these the configuration succeeds. However, the make step fails with this:
[100%] Linking CXX static library libapbs_routines.a
[100%] Built target apbs_routines
Scanning dependencies of target apbs
[100%] Building C object src/CMakeFiles/apbs.dir/main.c.o
[100%] Linking CXX executable apbs
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libcholmod.a(cholmod_metis.o): in function `cholmod_metis_bisector': (.text+0x229): undefined reference to `METIS_ComputeVertexSeparator'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libcholmod.a(cholmod_metis.o): in function `cholmod_metis': (.text+0x72b): undefined reference to `METIS_NodeND'
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/apbs.dir/build.make:127: src/apbs] Error 1
make[1]: *** [CMakeFiles/Makefile2:1999: src/CMakeFiles/apbs.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
Although METIS is listed as an optional component during cmake.
I did not get past the cmake step on CentOS even with openblas-devel and suitesparse-devel installed.
I must say, the installation process seems very fragile right now.
Originally posted by @rokdev in https://github.com/Electrostatics/apbs/issues/218#issuecomment-1098326762
@rokdev I moved your comments to a new issue, here, since they appear to be at least partially distinct from the error reported in #218.
We now have a working CentOS build using Dockerfile.centos
in branch nsoblath/issue_222
.
Additionally, we fixed the Ubuntu Docker build by switching to a shared-library build. There's likely a conflict between the way libpython.a
was compiled and how APBS is being compiled. It's probably possible to fix the static build by matching the flags used for libpython.a
, but there's no strong motivation for it at this point.
@rokdev I hope the additional Docker build (Dockerfile.centos
) can help you figure out what's missing from your own CentOS-based build.
I do agree that the installation process is a bit fragile, in particular being sensitive to the dependencies that are installed. Working on this issue has helped us understand some of those considerations.
We're going to move ahead with the PR (#223) that includes these changes. If there's a particular feature that you need that's not supported, or something else in the configuration and build that's not working, please let us know in a new issue.
Thanks, this is very useful! I can now confirm Centos 7 builds OK.
Thank you!
Hi,
I'm getting the same error on both Ubuntu 20 and CentOS 7 with umfpack installed. It looks like BLAS is being built too although it is installed as well.
Originally posted by @rokdev in https://github.com/Electrostatics/apbs/issues/218#issuecomment-1098123550