ngsxfem trouble

I’ve been trying to migrate my code over to our high-performance cluster, but I’m having difficulty getting ngsxfem to work. When I run my code, I get the following error:

Traceback (most recent call last): File "filename.py", line 7, in <module> from xfem import * File "/usr/lib/python3/dist-packages/xfem/__init__.py", line 15, in <module> from xfem.ngsxfem_xfem_py import * ImportError: /usr/lib/python3/dist-packages/xfem/../../../netgen/libngsxfem_utils.so: undefined symbol: _ZTIN5ngstd9ExceptionE

Apparently this is supposed to come from the libodb library, but installing it didn’t fix the issue.

If it’s relevant, I’m not trying to do anything in paralell yet, and my batch script uses “python3 filename.py”, which works without errors on my home computer.

Any insight into what might be going wrong?

Hi JSR,

Can you give me a bit more information? Is a similar ngsolve script running? Which NGSolve-Version are you using? Are you installing ngsxfem with or without included ngsolve-build?

Perhaps you can post the version of ngsolve and ngsxfem as well as the installation directories and the build-flags of ngsxfem here to help us get a picture of your situation?

Best,
Christoph

Hi Christoph,

I didn’t do the installation myself, but the administrator who did it sent me the following description of how they installed it:

[code]singularity build --sandbox ubuntu-18.04.4-bionic-ngsolve-ngsxfem docker://ubuntu:bionic
sudo singularity shell --writable ubuntu-18.04.4-bionic-ngsolve-ngsxfem

apt-get update
apt-get -y install software-properties-common
apt-get -y install python3 python3-dev python3-tk libpython3-dev libxmu-dev tk-dev tcl-dev cmake git g++ libglu1-mesa-dev liblapacke-dev
apt-add-repository universe
add-apt-repository ppa:ngsolve/ngsolve
apt-get update
apt-get install ngsolve
add-apt-repository ppa:mhochsteger/ngsxfem
apt-get update
apt-get install ngsxfem
exit

build image

sudo singularity build ubuntu-18.04.4-bionic-ngsolve-ngsxfem.sif ubuntu-18.04.4-bionic-ngsolve-ngsxfem[/code]

This was done on June 22nd, so I assume everything is in its most current version.

I’ll try running a simple ngsolve example (without ngsxfem) to confirm that ngsxfem is the problem.

update: ngsolve works fine by itself. It’s just ngsxfem that’s the problem.

Dear JSR,

Sorry for the late reply. The problem is with the debian package of ngsxfem. At the moment we do not have regular ngsxfem debian packages, i.e. in your case you will get a very old ngsxfem combined with a recent ngsolve. Please build ngsxfem from scratch. You can also try out “pip install ngsxfem” if you want to use pip.

Best,
Christoph

Thanks for the help. I’ll try that.