Dear Joel,
the precompiled casadi version from here
http://sourceforge.net/projects/casadi/files/CasADi/tested/is not working on my ubuntu x86 system.
my steps
# python ./setup.py install
installation is running normal. Casadi is now in python.
the precompiled version brings me the following error when i try to use casadi in python:
root@sop-ubuntu-virtual:/# python
Python 2.7.4 (default, Apr 18 2013, 14:18:39)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import casadi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/casadi/__init__.py", line 24, in <module>
from casadi import *
File "/usr/local/lib/python2.7/site-packages/casadi/casadi.py", line 28, in <module>
_casadi = swig_import_helper()
File "/usr/local/lib/python2.7/site-packages/casadi/casadi.py", line 24, in swig_import_helper
_mod = imp.load_module('_casadi', fp, pathname, description)
ImportError: /usr/local/lib/python2.7/site-packages/casadi/_casadi.so: wrong ELF class: ELFCLASS64
>>>
This is with every precompiled version. Everytime I have to transfer the source of casadi and compile it by myself:
---------------------------
the following version i transferred and compile it successfully.
git clone
https://github.com/casadi/casadi.git casadi && cd casadi && git checkout 1.7.0
root@sop-ubuntu-virtual:/# /usr/jmodelica_install/bin/jm_python.sh
Python 2.7.4 (default, Apr 18 2013, 14:18:39)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import casadi
>>> casadi.__version__
'1.7.0+'
>>>
This version is also not working with my example. I get wrong results.
s = CSparse(A.T.sparsity(), 2)
s.init()
s.setInput(A.T,"A")
s.prepare()
s.setInput(B.T,"B")
s.solve()
---------------------------
After that I have tested the tested source code from git
git clone
https://github.com/casadi/casadi.git -b tested casadi
with this source i have the problem that i can not compile it:
root@sop-ubuntu-virtual:/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build# make install_casadi
cd /usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/ThirdParty/CasADi; \
make -f Makefile
make[1]: Betrete Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/ThirdParty/CasADi'
make[2]: Betrete Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build'
make[2]: Verlasse Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build'
cd /usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/ThirdParty/CasADi/../../casadi_build && make python
make[2]: Betrete Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
-- Flag needed for enabling C++11 features: -std=gnu++0x
-- A library with BLAS API found.
-- A library with LAPACK API found.
-- Detected an IPOPT configuration without sIPOPT headers. Build will proceed, but without sIPOPT functionality.
-- Could not find KNITRO include dir
-- Could not find KNITRO library
-- Could not find CPLEX include dir
-- Could not find CPLEX libraries
-- Could not find MA57
-- MA57 libraries not found. Falling back to MA27
-- Could not find MA27
-- Could not find OOQP include dir
-- Could not find SNOPT include dir
-- Could not find Snopt libs
-- Could not find MATLAB include dir
-- Could not find Matlab libs
-- Could not find SNOPT include dir
-- Could not find Snopt libs
-- Could not find MATLAB include dir
-- Could not find Matlab libs
-- Python executable is /usr/local/bin/python
-- numpy.get_include() is /usr/local/lib/python2.7/site-packages/numpy/core/include
-- Numpy path found: /usr/local/lib/python2.7/site-packages/numpy/core/include/numpy
-- Python libs: /usr/local/lib/libpython2.7.a
-- Numpy includes: /usr/local/lib/python2.7/site-packages/numpy/core/include/numpy;/usr/include
-- Numpy libs: /usr/local/lib/python2.7/site-packages/numpy/core/multiarray.so
--
-- The following features have been enabled:
* dynamic-loading , Compile with support for dynamic loading of generated functions (needed for ExternalFunction)
* using-c++11 , Using C++11 features (improves efficiency and is required for some examples).
* sundials-interface , Interface to the ODE/DAE integrator suite SUNDIALS.
* csparse-interface , Interface to the sparse direct linear solver CSparse.
* lapack-interface , Interface to LAPACK.
* ipopt-interface , Interface to the NLP solver Ipopt.
* qpoases-interface , Interface to the active-set QP solver qpOASES.
* dsdp-interface , Interface to the interior point SDP solver DSDP (requires BLAS and LAPACK).
-- The following OPTIONAL packages have been found:
* LibXml2
* BLAS
* Threads
* LAPACK
* PkgConfig
* IPOPT
* SWIG
* NUMPY
* PythonInterp
-- The following features have been disabled:
* opencl-support , Enable just-in-time compiliation to CPUs and GPUs with OpenCL.
* get-ipopt , Download and build Ipopt.
* knitro-interface , Interface to the NLP solver KNITRO.
* cplex-interface , Interface to the QP solver CPLEX.
* ooqp-interface , Interface to the QP solver OOQP (requires BLAS).
* sqic-interface , Interface to the QP solver SQIC.
* slicot-interface , Interface to the controls library SLICOT.
* worhp-inteface , Interface to the NLP solver Worhp (requires LibXml2 headers).
-- The following OPTIONAL packages have not been found:
* KNITRO
* CPLEX
* MA57
* MA27
* OOQP
* MATLAB
* OCTAVE
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build
make[3]: Betrete Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
make[4]: Betrete Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
make[5]: Betrete Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
Scanning dependencies of target casadi_control
make[5]: Verlasse Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
make[5]: Betrete Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
[ 0%] Building CXX object control/CMakeFiles/casadi_control.dir/dple_solver.cpp.o
[ 0%] Building CXX object control/CMakeFiles/casadi_control.dir/dple_internal.cpp.o
[ 1%] Building CXX object control/CMakeFiles/casadi_control.dir/simple_indef_dple_solver.cpp.o
[ 1%] Building CXX object control/CMakeFiles/casadi_control.dir/simple_indef_dple_internal.cpp.o
Linking CXX static library ../lib/libcasadi_control.a
make[5]: Verlasse Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
[ 1%] Built target casadi_control
make[5]: Betrete Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
make[5]: Verlasse Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
make[5]: Betrete Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
[ 1%] Generating runtime_embedded.hpp
make[5]: Verlasse Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
[ 1%] Built target casadi_runtime_embedded
make[5]: Betrete Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
Scanning dependencies of target casadi
make[5]: Verlasse Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
make[5]: Betrete Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
[ 2%] Building CXX object symbolic/CMakeFiles/casadi.dir/casadi_options.cpp.o
[ 2%] Building CXX object symbolic/CMakeFiles/casadi.dir/casadi_meta.cpp.o
[ 2%] Building CXX object symbolic/CMakeFiles/casadi.dir/printable_object.cpp.o
[ 2%] Building CXX object symbolic/CMakeFiles/casadi.dir/shared_object.cpp.o
[ 3%] Building CXX object symbolic/CMakeFiles/casadi.dir/weak_ref.cpp.o
[ 3%] Building CXX object symbolic/CMakeFiles/casadi.dir/generic_type.cpp.o
[ 3%] Building CXX object symbolic/CMakeFiles/casadi.dir/options_functionality.cpp.o
[ 3%] Building CXX object symbolic/CMakeFiles/casadi.dir/stl_vector_tools.cpp.o
[ 4%] Building CXX object symbolic/CMakeFiles/casadi.dir/profiling.cpp.o
[ 4%] Building CXX object symbolic/CMakeFiles/casadi.dir/functor.cpp.o
[ 4%] Building CXX object symbolic/CMakeFiles/casadi.dir/functor_internal.cpp.o
/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/ThirdParty/CasADi/CasADi/symbolic/functor_internal.cpp: In constructor ‘CasADi::CustomEvaluateCInternal::CustomEvaluateCInternal(void (*)(CasADi::CustomFunction&, void*))’:
/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/ThirdParty/CasADi/CasADi/symbolic/functor_internal.cpp:35: error: class ‘CasADi::CustomEvaluateCInternal’ does not have any field named ‘FunctorCInternal’
/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/ThirdParty/CasADi/CasADi/symbolic/functor_internal.cpp:35: error: no matching function for call to ‘CasADi::FunctorCInternal<void (*)(CasADi::CustomFunction&, void*)>::FunctorCInternal()’
/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/ThirdParty/CasADi/CasADi/symbolic/functor_internal.hpp:43: note: candidates are: CasADi::FunctorCInternal<P>::FunctorCInternal(P) [with P = void (*)(CasADi::CustomFunction&, void*)]
/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/ThirdParty/CasADi/CasADi/symbolic/functor_internal.hpp:41: note: CasADi::FunctorCInternal<void (*)(CasADi::CustomFunction&, void*)>::FunctorCInternal(const CasADi::FunctorCInternal<void (*)(CasADi::CustomFunction&, void*)>&)
/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/ThirdParty/CasADi/CasADi/symbolic/functor_internal.cpp: In constructor ‘CasADi::CallbackCInternal::CallbackCInternal(int (*)(CasADi::FX&, void*))’:
/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/ThirdParty/CasADi/CasADi/symbolic/functor_internal.cpp:47: error: class ‘CasADi::CallbackCInternal’ does not have any field named ‘FunctorCInternal’
/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/ThirdParty/CasADi/CasADi/symbolic/functor_internal.cpp:47: error: no matching function for call to ‘CasADi::FunctorCInternal<int (*)(CasADi::FX&, void*)>::FunctorCInternal()’
/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/ThirdParty/CasADi/CasADi/symbolic/functor_internal.hpp:43: note: candidates are: CasADi::FunctorCInternal<P>::FunctorCInternal(P) [with P = int (*)(CasADi::FX&, void*)]
/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/ThirdParty/CasADi/CasADi/symbolic/functor_internal.hpp:41: note: CasADi::FunctorCInternal<int (*)(CasADi::FX&, void*)>::FunctorCInternal(const CasADi::FunctorCInternal<int (*)(CasADi::FX&, void*)>&)
make[5]: *** [symbolic/CMakeFiles/casadi.dir/functor_internal.cpp.o] Fehler 1
make[5]: Verlasse Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
make[4]: *** [symbolic/CMakeFiles/casadi.dir/all] Fehler 2
make[4]: Verlasse Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
make[3]: *** [CMakeFiles/python.dir/rule] Fehler 2
make[3]: Verlasse Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
make[2]: *** [python] Fehler 2
make[2]: Verlasse Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/casadi_build'
make[1]: *** [all-local] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/install/jmodelica_2014_install/jmodelica_sourcee/JModelica/build/ThirdParty/CasADi'
make: *** [casadi] Fehler 2
---------------------------
Can you please give the source of your precompiled 1.7.0 tested version? Or which version do you use??
Best regards,
Evgeny