最近我在新安装的集群的主节点上安装了gromacs。由于gromacs的主要要求是GCC、OpenMPI和gmx_mpi,在主节点上编译完所有内容后,我就可以使用GPU来使用该软件。但是当我使用“ssh”切换到计算节点并运行 gmx_mpi 命令时,我收到一条错误消息:
gmx_mpi
gmx_mpi: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by gmx_mpi)
gmx_mpi: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by gmx_mpi)
gmx_mpi: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /state/partition1/packages/gromacs/gromacs-2020.6_plumed-2.8/bin/../lib64/libgromacs_mpi.so.5)
gmx_mpi: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /state/partition1/packages/gromacs/gromacs-2020.6_plumed-2.8/bin/../lib64/libgromacs_mpi.so.5)
gmx_mpi: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /state/partition1/packages/gromacs/gromacs-2020.6_plumed-2.8/bin/../lib64/libgromacs_mpi.so.5)
gmx_mpi: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /state/partition1/packages/gromacs/gromacs-2020.6_plumed-2.8/bin/../lib64/libgromacs_mpi.so.5)
gmx_mpi: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /state/partition1/packages/gromacs/gromacs-2020.6_plumed-2.8/bin/../lib64/libgromacs_mpi.so.5)
gmx_mpi: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /state/partition1/packages/gromacs/plumed-2.8_install/lib/libplumedKernel.so)
gmx_mpi: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /state/partition1/packages/gromacs/plumed-2.8_install/lib/libplumedKernel.so)
gmx_mpi: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /state/partition1/packages/gromacs/plumed-2.8_install/lib/libplumedKernel.so)
据我了解,该问题的出现是由于主节点和计算节点之间的 GCC 链接问题所致。
我的master节点上gcc的路径是:
which gcc
/usr/local/bin/gcc
计算节点上gcc的路径为:
which gcc
/usr/bin/gcc
我一直在尝试链接 GCC,但不幸的是,我无法做到这一点。任何关于如何做到这一点的建议都意义重大。谢谢
首先,由于您将在计算节点而不是头节点上运行MD模拟,因此登录计算节点并直接从那里安装会更安全。
我猜你做了一些“模块加载 GCC”或类似的操作以使 C/C++ 编译器在节点上可用?如果是这样,您必须在获取 GROMACS GMXRC 二进制文件之前重新加载它们。对于运行期间需要的其他模块也是如此,例如CUDA(如果您是针对 CUDA 支持安装的)。