Problem installing NGSolve with OCC on Debian 9

Hello!

I have been trying to install NGSolve on my computer, running Debian 9. When trying to build with OCC i get the following error:
[ 99%] Linking CXX executable netgen
libgui.so: undefined reference to GeomAdaptor_Curve::NbIntervals(GeomAbs_Shape)' libgui.so: undefined reference to Adaptor3d_Surface::Delete()’
libgui.so: undefined reference to TopLoc_SListOfItemLocation::Clear()' libgui.so: undefined reference to Adaptor3d_Curve::Delete()’
…/libsrc/occ/libocc.so: undefined reference to StlAPI_Writer::Write(TopoDS_Shape const&, char const*, bool)' libgui.so: undefined reference to GeomAdaptor_Curve::Intervals(TColStd_Array1OfReal&, GeomAbs_Shape)’
…/libsrc/occ/libocc.so: undefined reference to Geom_TrimmedCurve::Geom_TrimmedCurve(Handle_Geom_Curve const&, double, double, bool)' libgui.so: undefined reference to TopLoc_SListOfItemLocation::TopLoc_SListOfItemLocation(TopLoc_SListOfItemLocation const&)’
…/libsrc/occ/libocc.so: undefined reference to math_FunctionSet::Delete()' ../libsrc/occ/libocc.so: undefined reference to Adaptor2d_Curve2d::Delete()’
…/libsrc/occ/libocc.so: undefined reference to `math_FunctionWithDerivative::Delete()’
collect2: error: ld returned 1 exit status
ng/CMakeFiles/netgen.dir/build.make:178: recipe for target ‘ng/netgen’ failed
make[8]: *** [ng/netgen] Error 1
CMakeFiles/Makefile2:1890: recipe for target ‘ng/CMakeFiles/netgen.dir/all’ failed
make[7]: *** [ng/CMakeFiles/netgen.dir/all] Error 2
Makefile:162: recipe for target ‘all’ failed
make[6]: *** [all] Error 2
CMakeFiles/netgen.dir/build.make:115: recipe for target ‘dependencies/src/netgen-stamp/netgen-build’ failed
make[5]: *** [dependencies/src/netgen-stamp/netgen-build] Error 2
CMakeFiles/Makefile2:104: recipe for target ‘CMakeFiles/netgen.dir/all’ failed
make[4]: *** [CMakeFiles/netgen.dir/all] Error 2
Makefile:129: recipe for target ‘all’ failed
make[3]: *** [all] Error 2
CMakeFiles/netgen_project.dir/build.make:110: recipe for target ‘dependencies/Stamp/netgen_project/netgen_project-build’ failed
make[2]: *** [dependencies/Stamp/netgen_project/netgen_project-build] Error 2
CMakeFiles/Makefile2:104: recipe for target ‘CMakeFiles/netgen_project.dir/all’ failed
make[1]: *** [CMakeFiles/netgen_project.dir/all] Error 2
Makefile:151: recipe for target ‘all’ failed
make: *** [all] Error 2

I have been able to build without OCC, and have sucessfully tested demos such as poisson and navierstokes using the netgen commando. However the installation fails the tests run when running

make test_ngsolve

I suspect that this can have something to do with running NGSolve modules using python3 instead of the netgen gui, but i am not sure about this.

I would be greatful for any help!

Hi,

to run “make test_ngsolve” successfully, you have to install “pytest” and “numpy” for python3.
So I would not worry about the tests.

Concerning your problems with OCC. I just installed a Debian 9 in a virtual machine and everything went fine.
I installed the “liboce-ocaf-dev” to have all occ functions available. Did you use the same library?

Best regards,
Christoph

I did a complete purge of OCC (i had a previous installation which conflicted with the installation of liboce-ocaf-dev) and this fixed the issue. Thank you for your help, and sorry for the late response!