ISSMteam / ISSM

ISSM source code
https://issm.jpl.nasa.gov
Other
17 stars 14 forks source link

Error reporting: Compling ISSM with python triggers running error under python #17

Closed inwoo-park closed 1 month ago

inwoo-park commented 1 month ago

Hi, developers.

I usually use ISSM with both MATLAB and Python. However, my old machine triggers the error following error when using ISSM with python:

  File "/home/inwoo/issm/ISSM/src/m/modules/IssmConfig.py", line 1, in <module>
    from IssmConfig_python import IssmConfig_python
ImportError: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/DATA/externalpackages/matlab/install/bin/glnxa64/libMatlabDataArray.so)

My machine uses the gcc version 4.8.5 and does not contain the CXXABI_1.3.8. It seems that gcc>=5 is required to resolve this issue. However, I cannot upgrade the machine because this machine is a cluster. If I upgrade the gcc version, I am concerned that it might distrub pre-installed packages. Furthermore, since this machine operates in offline mode (not allowed to conncet to the network), downloading the latest gcc vesion is challenging.

Now, I have found a solution to resolve this problem. While compiling the ISSM with Python, src/wrappers/python/Makefile.am file contains the $(MEXLIB) flag on line 154 (maybe..).

[Previous in src/wrappers/python/Makefile.am line 154 (maybe)]

libISSMApi_la_LIBADD = ... $(MEXLIB)

[Recommended in src/wrappers/python/Makefile.am line 154 (maybe)]

libISSMApi_la_LIBADD = ... # remove $(MEXLIB)

However, it seems that when using ISSM with Python under compiling for both Python and MATLAB does not require $(MEXLIB). When I remove using $MEXLIB from this line, ISSM works well with Python.

Should we remove the $(MEXLIB) in src/wrappers/python/Makefile.am?

Best regards, Inwoo

MathieuMorlighem commented 1 month ago

Good catch Inwoo! Yes please remove it, this looks like a bug

MathieuMorlighem commented 1 month ago

ok I just fixed it, thanks Inwoo!