-
Notifications
You must be signed in to change notification settings - Fork 4
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
Suggestion: Preferentially use SuperLU installed by Homebrew/Linuxbrew #62
Comments
Hello -- thank you for this feedback. We will take your suggestion into consideration; however, we've tried hard to avoid significant dependencies on external repositories. We have experienced problems with those types of dependencies in the past. Thanks again, Nathan |
@nsoblath we could look at this when/if we try to get a multithreaded version of APBS built. |
Hi all. I'm experiencing same approach in Fedora: building FETK (that it's a new dependency of APBS) against system libraries (FlexiBLAS, Maloc, SuperLU, libarpack) is a little more complicated. Mainly, FETK provides |
I think it certainly makes sense to allow the PUNC module to be a little more flexible in how it deals with some dependencies. In particular, the most straightforward to improve would be:
@intendo, I suggest that we include these in our next round of updates. Regarding the other packages mentioned by @sagitter, PUNC should already check for libarpack and only build it if it's not there. And as for Maloc, for now I think we're should stick with the version that's built into FETK. If someone wants to provide a change that allows an external Maloc dependency, we could certainly integrate that into the repo. I don't think it'd require extra support in the future. |
@nsoblath if these changes are simple then yes. Otherwise, we should make it a lower priority. |
This issue affects the Debian linux packaging of APBS also. Previously debian prepared APBS without FETK but now (APBS v3.4) it's mandatory to use FETK. We'd prefer to use the system installed SuperLU. I was able to build the punc components of FETK by switching BUILD_SUPERLU to OFF, though I'm not sure if SUPERLU_LIBRARIES (define during the cmake run) is getting through. In any case the build stalls not in punc but in bam, via zslu.c which includes slu_ddefs.h. SUPERLU_INCLUDES (defined when cmake was run) was delivered to punc but not to bam, so the build halts with
since As far as BLAS goes, the situation with debian is that we build against the generic libblas.so, and manage that using alternative symlinks to specific optimized implementations. So the system administrator can choose openblas, atlas, blis, intelmkl. That is, it would be helpful for FETK to use the system installed BLAS. But the issue currently blocking my build is SuperLU. SuperLU does not change rapidly. Its API has been stable for years. There should be no reason to not use system installed libraries. |
Status update (intended to be posted 4/20/22): With insight from the above comments, I have a build that gets to the point of the error finding |
Update: I've implemented the solution I suggested above, and everything seems to be working. I've demonstrated the build based on a pre-installed version of SuperLU using the Docker build. We'll push out a new release soon, but for now the working version can be found in branch |
Dear developers of FETK and APBS,
I'm very happy to hear that APBS v3.4.0 has been released recently. The manual installation from the source worked correctly according to the guide of https://apbs.readthedocs.io/en/latest/getting/source.html.
However, there's one thing I'd like to see improved; If SuperLU is already installed by Homebrew/Linuxbrew, FETK should use it preferentially.
Now I'm making a Homebrew Formula of APBS 3.4.0 to install the latest APBS in the easiest way. See my Homebrew formula (WIP) https://gist.github.com/YoshitakaMo/8cc5389ef55d820f688d4c6b1200ab9c . You can install APBS with Homebrew/Linuxbrew:
I tested it on both Intel and M1 mac (not on Linux yet), and the installation was successfully finished. But an error was caused at
brew link
step:I've found that this issue is caused by an additional build and installation of SuperLU described in
FETK/punc/CMakeLists.txt
. So, FETK's punc and APBS finally buildlib/cmake/superlu/*.cmake
files and install them into the Homebrew directory (....../Cellar/apbs/3.4.0/lib/cmake/superlu
).This duplicate installation of SuperLU is suppressed when the
FETK/punc/CMakeLists.txt
is modified as follows:I am not completely sure yet if this modification will work correctly on all Intel/M1 Mac and Linux OSs, but I believe this change will greatly contribute to an easier installation of APBS using Homebrew.
I hope you will consider it.
The text was updated successfully, but these errors were encountered: