LLNL / MemSurfer

MemSurfer is a software tool to compute bilayer membrane surfaces.
GNU General Public License v3.0
24 stars 9 forks source link

ImportError with spack MemSurfer with undefined symbol: __gmpq_set_si in shared object file #16

Closed rockypt00 closed 2 years ago

rockypt00 commented 2 years ago

Hi,

I installed memsurfer with spack, but encountered an error when importing the module. I am using Ubuntu20.04 on Windows Subsystem for Linux 2 (WSL 2). I believe my issue is related to #12 , except I did not build memsurfer manually. Please find the error traceback below. Any ideas on what went wrong?

Thanks!

The commands I entered to install and import memsurfer: . spack/share/spack/setup-env.sh spack -d install memsurfer@develop ^python@3.7.3 %gcc@7.5.0 spack load python@3.7.3 spack load memsurfer@develop python

Python 3.7.3 (default, Mar 23 2022, 15:51:44) [GCC 7.5.0] on linux Type "help", "copyright", "credits" or "license" for more information.

import memsurfer Traceback (most recent call last): File "/home/rptang/spack/opt/spack/linux-ubuntu20.04-zen/gcc-7.5.0/memsurfer-develop-c7ltvh5gcc5buwnaq4db5lpqb7lgyvpj/lib/python3.7/site-packages/memsurfer/memsurfer_cmod.py", line 14, in swig_import_helper return importlib.import_module(mname) File "/home/rptang/spack/opt/spack/linux-ubuntu20.04-zen/gcc-7.5.0/python-3.7.3-34356y76tekzdqblxwjud5znmwog5xec/lib/python3.7/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1006, in _gcd_import File "", line 983, in _find_and_load File "", line 967, in _find_and_load_unlocked File "", line 670, in _load_unlocked File "", line 583, in module_from_spec File "", line 1043, in create_module File "", line 219, in _call_with_frames_removed ImportError: /home/rptang/spack/opt/spack/linux-ubuntu20.04-zen/gcc-7.5.0/memsurfer-develop-c7ltvh5gcc5buwnaq4db5lpqb7lgyvpj/lib/python3.7/site-packages/memsurfer/_memsurfer_cmod.so: undefined symbol: __gmpq_set_si

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "", line 1, in File "/home/rptang/spack/opt/spack/linux-ubuntu20.04-zen/gcc-7.5.0/memsurfer-develop-c7ltvh5gcc5buwnaq4db5lpqb7lgyvpj/lib/python3.7/site-packages/memsurfer/init.py", line 15, in from .membrane import Membrane File "/home/rptang/spack/opt/spack/linux-ubuntu20.04-zen/gcc-7.5.0/memsurfer-develop-c7ltvh5gcc5buwnaq4db5lpqb7lgyvpj/lib/python3.7/site-packages/memsurfer/membrane.py", line 20, in from . import memsurfer_cmod File "/home/rptang/spack/opt/spack/linux-ubuntu20.04-zen/gcc-7.5.0/memsurfer-develop-c7ltvh5gcc5buwnaq4db5lpqb7lgyvpj/lib/python3.7/site-packages/memsurfer/memsurfer_cmod.py", line 17, in _memsurfer_cmod = swig_import_helper() File "/home/rptang/spack/opt/spack/linux-ubuntu20.04-zen/gcc-7.5.0/memsurfer-develop-c7ltvh5gcc5buwnaq4db5lpqb7lgyvpj/lib/python3.7/site-packages/memsurfer/memsurfer_cmod.py", line 16, in swig_import_helper return importlib.import_module('_memsurfer_cmod') File "/home/rptang/spack/opt/spack/linux-ubuntu20.04-zen/gcc-7.5.0/python-3.7.3-34356y76tekzdqblxwjud5znmwog5xec/lib/python3.7/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) ModuleNotFoundError: No module named '_memsurfer_cmod'

rockypt00 commented 2 years ago

I believe it was an issue with the import order. It was solved after doing a manual install from source and following the example scripts.