In a nutshell, I want to link deal.II against matlab, which results in a segmentation fault.
int main()
{
matlab::engine::startMATLAB(); //provided by matlab
dealii::Triangulation<2> triangulation;
}
The call to startMATLAB() results in a segfault, however,
there is no segfault if I comment the triangulation object.
Matthias Maier pointed me in the right direction by considering
ldd ./step-1
which lists, amongst many others, a symbol to the deal.II library and
libtbb.so.2 (thread building blocks)
I could figure out that matlab links against their own shipped version of tbb,
which probably results in the "symbol clash" that Matthias also mentioned.
I compiled deal.II with tbb enabled.
My question is if there is a way to "turn off" the tbb dependency (using a cmake variable) locally such that
ldd ./step-1
does not contain
libtbb.so.2 anymore.
I know that one can do for instance
export DEAL_II_NUM_THREADS=1,
but that has no effect on the ldd call.
Thank you,
Math