Skip to content

MFEM library conflict with pyMFEM>=4.5.2.1 #2

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions