-
Notifications
You must be signed in to change notification settings - Fork 187
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
OpenHPC llvm4 module loading old gnu7.1 #649
Comments
OpenHPC 1.3.3 has llvm-5.0 and gcc 7.2.0? At least I think that is the situation? Which version of llvm and gcc do you have installed from OpenHPC? |
I have both llvm4/4.0.1 and llvm5/5.0.0 with openhpc's gnu 7.2.0 Some debugs: $ module purge |
This is a bug. The llvm module file contains the gcc library path it was built with, so a quick workaround is to edit /opt/ohpc/pub/modulefiles/llvm4/4.0.1 and point LD_LIBRARY_PATH to the gcc 7.2.0 lib directory instead of 7.1.0. We'll implement a permanent fix in ohpc 1.3.4. |
Changing the GCC package should not change LLVM's behaviour. The most problematic cases here are glibc, libstdc++ and libgcc. While Glibc should NOT be replaced with musl / newlib (not in HPC at least), both libstdc++ and libgcc can be replaced with LLVM's own libcxx and compiler-rt. So, work around options, change library path, fine. Long term options, there are some, each with its own problems...
Some of those problems are not specific to the situations (and is common in compilation environments), but we need to take decisions based on what users are more comfortable with. Of course, there may be different solutions (I'm no expert in LMod, Spack), probably easier ones, but there will be some form of discussion as to what's the least damaging solution. |
fixed with release of llvm 5.0.1 in OpenHPC 1.3.4 |
Summary:
Using up-to-date 1.3 OpenHPC repo module add command to load llvm4 is loading old gnu7.1 path.
Steps to reproduce:
$ module add llvm4
$ clang
Expected results:
$ clang
all good
Actual results:
$ clang
[...]
clang: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /opt/ohpc/pub/compiler/llvm/4.0.1/bin/../lib/../lib/../lib/../lib/libclangASTMatchers.so.4)
Because it's using base's libstdc++
$ echo $LD_LIBRARY_PATH
/opt/ohpc/pub/compiler/gcc/7.1.0/lib64:/opt/ohpc/pub/compiler/llvm/4.0.1/lib
Solution:
or
Change gcc/7.1.0 to gcc/7.2.0
The text was updated successfully, but these errors were encountered: