<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">
<DIV>Matlab’s own copy of BLAS uses 64-bit integers. Ipopt and most other 
libraries expect conventional 32-bit integers in BLAS. You need to link Ipopt to 
a static-library BLAS to avoid this problem, otherwise there are two 
shared-library copies of BLAS opened by the same process using the same function 
names but binary-incompatible signatures and bad things happen. You can 
alternately tell Matlab to use the same copy of BLAS that you built with Ipopt 
by setting BLAS_VERSION environment variables, but this is not well-supported 
and could easily slow unrelated linear algebra down if you’re not using an 
optimized implementation.</DIV>
<DIV>&nbsp;</DIV>
<DIV>-Tony</DIV>
<DIV>&nbsp;</DIV>
<DIV 
style='FONT-SIZE: small; TEXT-DECORATION: none; FONT-FAMILY: "Calibri"; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal; DISPLAY: inline'>
<DIV style="FONT: 10pt tahoma">
<DIV>&nbsp;</DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A title=j.a.e.andersson@gmail.com 
href="mailto:j.a.e.andersson@gmail.com">Joel Andersson</A> </DIV>
<DIV><B>Sent:</B> Wednesday, January 14, 2015 3:40 AM</DIV>
<DIV><B>To:</B> <A title=ipopt@list.coin-or.org 
href="mailto:ipopt@list.coin-or.org">Ipopt - Mailing list</A> </DIV>
<DIV><B>Subject:</B> [Ipopt] IPOPT build causes crash inside 
MATLAB</DIV></DIV></DIV>
<DIV>&nbsp;</DIV></DIV>
<DIV 
style='FONT-SIZE: small; TEXT-DECORATION: none; FONT-FAMILY: "Calibri"; FONT-WEIGHT: normal; COLOR: #000000; FONT-STYLE: normal; DISPLAY: inline'>
<DIV dir=ltr>Hello all, 
<DIV>&nbsp;</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>&nbsp;</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>&nbsp;</DIV>
<DIV>
<DIV>Stack Trace (from fault):</DIV>
<DIV>[&nbsp; 0] 0x00007f607282eb0c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/usr/local/MATLAB/R2014b/bin/glnxa64/mkl.so+31877900 
mkl_blas_cnr_def_xdcopy+00000252</DIV>
<DIV>[&nbsp; 1] 0x00007f6070ca3778&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/usr/local/MATLAB/R2014b/bin/glnxa64/mkl.so+02996088 
mkl_blas_dcopy+00000200</DIV>
<DIV>[&nbsp; 2] 0x00007f6070b1381c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/usr/local/MATLAB/R2014b/bin/glnxa64/mkl.so+01357852 dcopy+00000080</DIV>
<DIV>[&nbsp; 3] 
0x00007f6074f76565&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/usr/local/lib/libipopt.so.0+01639781 
_ZN5Ipopt11IpBlasDcopyEiPKdiPdi+00000085</DIV>
<DIV>[&nbsp; 4] 
0x00007f6074e65762&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/usr/local/lib/libipopt.so.0+00522082 
_ZN5Ipopt11TNLPAdapter16GetStartingPointENS_8SmartPtrINS_6VectorEEEbS3_bS3_bS3_bS3_b+00001106</DIV>
<DIV>[&nbsp; 5] 
0x00007f6074ebdc78&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
/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>&nbsp;</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>&nbsp;</DIV>
<DIV>I tried building IPOPT explicitly avoid MKL blas by setting 
"--with-build=BUILD --with-lapack=BUILD":</DIV>
<DIV>&nbsp;</DIV>
<DIV>../configure --prefix=/usr/local --with-build=BUILD --with-lapack=BUILD 
ADD_FFLAGS=-fPIC ADD_CFLAGS=-fPIC ADD_CXXFLAGS=-fPIC<BR></DIV>
<DIV>&nbsp;</DIV>
<DIV>But that doesn't appear to have any effect.<BR></DIV>
<DIV>&nbsp;</DIV>
<DIV>Best regards and thanks in advance,</DIV>
<DIV>Joel</DIV>
<DIV>&nbsp;</DIV>
<DIV>
<DIV class=gmail_signature>&nbsp;</DIV></DIV></DIV>
<P>
<HR>
_______________________________________________<BR>Ipopt mailing 
list<BR>Ipopt@list.coin-or.org<BR>http://list.coin-or.org/mailman/listinfo/ipopt<BR></DIV></DIV></DIV></BODY></HTML>