<div dir="ltr">Hello all,<div><br></div><div>I am working on adding a MATLAB front-end to CasADi that will enable formulating and solving large-scale NLPs with efficient automatic calculation of Jacobians and Hessians.</div><div><br></div><div>I am experiencing problems of getting our IPOPT plugin to work inside MATLAB. While it appears to work fine in OS X, I get segfaults in Linux (Ubuntu 14.04, 64-bit, gcc 4.7) with the following stack trace:</div><div><br></div><div><div>Stack Trace (from fault):</div><div>[ 0] 0x00007f607282eb0c /usr/local/MATLAB/R2014b/bin/glnxa64/mkl.so+31877900 mkl_blas_cnr_def_xdcopy+00000252</div><div>[ 1] 0x00007f6070ca3778 /usr/local/MATLAB/R2014b/bin/glnxa64/mkl.so+02996088 mkl_blas_dcopy+00000200</div><div>[ 2] 0x00007f6070b1381c /usr/local/MATLAB/R2014b/bin/glnxa64/mkl.so+01357852 dcopy+00000080</div><div>[ 3] 0x00007f6074f76565 /usr/local/lib/libipopt.so.0+01639781 _ZN5Ipopt11IpBlasDcopyEiPKdiPdi+00000085</div><div>[ 4] 0x00007f6074e65762 /usr/local/lib/libipopt.so.0+00522082 _ZN5Ipopt11TNLPAdapter16GetStartingPointENS_8SmartPtrINS_6VectorEEEbS3_bS3_bS3_bS3_b+00001106</div><div>[ 5] 0x00007f6074ebdc78 /usr/local/lib/libipopt.so.0+00883832 _ZN5Ipopt15GradientScaling30DetermineScalingParametersImplENS_8SmartPtrIKNS_11VectorSpaceEEES4_S4_NS1_IKNS_11MatrixSpaceEEES7_NS1_IKNS_14SymMatrixSpaceEEERKNS_6MatrixERKNS_6VectorESD_SG_RdRNS1_ISE_EESJ_SJ_+00000232</div></div><div>...</div><div><br></div><div>Anyone has any idea of what could be the cause of this or how it can be resolved? It appears to be related to BLAS which I find perplexing since IPOPT is not linked to the MEX function, but to a plugin (shared library) which is loaded dynamically using dlopen(..., RTLD_LAZY | RTLD_LOCAL). I thought that would provide enough encapsulation to avoid problems like this.</div><div><br></div><div>I tried building IPOPT explicitly avoid MKL blas by setting "--with-build=BUILD --with-lapack=BUILD":</div><div><br></div><div>../configure --prefix=/usr/local --with-build=BUILD --with-lapack=BUILD ADD_FFLAGS=-fPIC ADD_CFLAGS=-fPIC ADD_CXXFLAGS=-fPIC<br></div><div><br></div><div>But that doesn't appear to have any effect.<br></div><div><br></div><div>Best regards and thanks in advance,</div><div>Joel</div><div><br></div><div><div class="gmail_signature"><br></div>
</div></div>