MFEM library conflict with pyMFEM>=4.5.2.1
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 63
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
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 "", line 1, in
File "/usr/local/lib/python3.10/dist-packages/mfem/ser.py", line 2, in
from mfem._ser.globals import *
File "/usr/local/lib/python3.10/dist-packages/mfem/_ser/globals.py", line 10, in
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 "", line 1, in
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](https://github.com/mfem/mfem/commits/00b2a0705f647e17a1d4ffcb289adca503f28d42) (Commit on Mar 23, 2023)
- 4.5.2.1: [962774d](https://github.com/mfem/mfem/commits/962774d5ffa84ceed3bc670e52388250ee028da1) (Commit on May 10, 2023)
However, matching our `mfem` commit to [962774d](https://github.com/mfem/mfem/commits/962774d5ffa84ceed3bc670e52388250ee028da1) did not resolve the issue. Based on the [release](https://github.com/mfem/PyMFEM/releases) 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`.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the two Python import orders shown in the issue with pyMFEM 4.5.2.1 and 4.5.2.0, then inspect the dependency configuration that controls the pyMFEM version. Done means the supported version is enforced and both import orders complete without undefined-symbol errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100