fmihpc/vlasiator

sysBoundaryContainer member variable of ObjectWrapper broke ionosphereSolverTests mini-app linking

MiroPalmu opened this issue · 1 comments

I merged new changes to my dev branch and notice that linking started to fail for ionosphereSolverTests.

It was due to sysBoundaryContainer member variable having been added to ObjectWrapper so the generated constructor and destructor for ObjectWrapper calls constructor and destructor of SysBoundary which are not linked/compiled for ionosphereSolverTests.

Tried to start modify the Makefile for ionosphereSolverTests but by first adding dependency on sysboundary.o like in the main Makefile of Vlasiator but then the linking problem cascaded and it was not feasible to hand craft the Makefile or it is but it is a lot of work which might get broken again in the future.

The good solution would be to come up with smarter way to compile ionosphereSolverTests using the main Makefile but I did not come up with any practical solution. The workaround that worked was to just comment out sysBoundaryContainer member variable of ObjectWrapper when building ionosphereSolverTests.

Hmm! It does sound a bit overkill indeed if the objectwrapper also calls sysboundary constructors / destructors. A bit of spill-over-results from this seemingly insignificant change.

Do you actually need the objectwrapper for the mini-app or could that be worked around?