Skip to content

MFEM library conflict with pyMFEM>=4.5.2.1 #2

@chldkdtn

Description

@chldkdtn

A library conflict is observed for pyMFEM>=4.5.2.1.

When importing pyMFEM after pylibROM,

Python 3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pylibROM
>>> import mfem.ser as mfem
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.10/dist-packages/mfem/ser.py", line 2, in <module>
    from  mfem._ser.globals import *
  File "/usr/local/lib/python3.10/dist-packages/mfem/_ser/globals.py", line 10, in <module>
    from . import _globals
ImportError: /usr/local/lib/python3.10/dist-packages/mfem/_ser/_globals.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZTIN4mfem14ErrorExceptionE

On the other way around (pylibROM after pyMFEM):

Python 3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mfem.ser as mfem
>>> import pylibROM
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /home/test/pylibROM/extern/libROM/build/lib/libROM.so: undefined symbol: _ZTVN4mfem15ParGridFunctionE

NOTE this does not happen with pyMFEM==4.5.2.0.

The reason is not clear why the conflict occurs in the new version, but not in the old version. One difference between them is their mfem commit:

  • 4.5.2.0: 00b2a07 (Commit on Mar 23, 2023)
  • 4.5.2.1: 962774d (Commit on May 10, 2023)

However, matching our mfem commit to 962774d did not resolve the issue. Based on the release history, version 4.5.2.1 seems to be a only 2-week-old pre-release.

Until the issue is sorted out, we should enforce users to use pyMFEM==4.5.2.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions