Getting started with minimal_example_ocp does not work

Hi :wave:

I am following Installation steps and want to run minimal_example_ocp to get started in Matlab R2023b. This is a Windows machine. I’ve tried both automatic and manual steps with minGW, and it is the same results. Somethings good to mention maybe:

  • acados/lib contain this:
    – acados.lib
    – hpipm.lib
    – blasfeo.lib
    – git_commit_hash
    – link_libs.json
    – qpOASES_e.lib
  • my casADi is copied manually in the following, as the download in automatic step did not seem to work
    external/casadi-matlab/casadi-3.7.2-windows64-matlab2018b

The error in Matlab:

>> minimal_example_ocp
found compiled acados MEX interface
AcadosOcpSolver: External functions generated in 31.4631 ms.
Not rendering Simulink-related templates, as simulink_opts are not specified.
Successfully rendered acados templates!
AcadosOcpSolver: Templated solver code generated in 910.8694 ms.
Error using AcadosOcpSolver/compile_ocp_shared_lib
Building templated code as shared library failed.
Got status 2, result: [  6%] Building C object CMakeFiles/model_pendulum.dir/pendulum_model/pendulum_expl_ode_fun.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_model\pendulum_expl_ode_fun.c:1:0: warning:
-fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 13%] Building C object CMakeFiles/model_pendulum.dir/pendulum_model/pendulum_expl_vde_forw.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_model\pendulum_expl_vde_forw.c:1:0: warning:
-fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 20%] Building C object CMakeFiles/model_pendulum.dir/pendulum_model/pendulum_expl_vde_adj.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_model\pendulum_expl_vde_adj.c:1:0: warning:
-fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 20%] Built target model_pendulum
[ 26%] Building C object CMakeFiles/ocp_pendulum.dir/pendulum_cost/pendulum_cost_y_0_fun.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_cost\pendulum_cost_y_0_fun.c:1:0: warning:
-fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 33%] Building C object CMakeFiles/ocp_pendulum.dir/pendulum_cost/pendulum_cost_y_0_fun_jac_ut_xt.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_cost\pendulum_cost_y_0_fun_jac_ut_xt.c:1:0:
warning: -fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 40%] Building C object CMakeFiles/ocp_pendulum.dir/pendulum_cost/pendulum_cost_y_fun.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_cost\pendulum_cost_y_fun.c:1:0: warning:
-fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 46%] Building C object CMakeFiles/ocp_pendulum.dir/pendulum_cost/pendulum_cost_y_fun_jac_ut_xt.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_cost\pendulum_cost_y_fun_jac_ut_xt.c:1:0:
warning: -fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 53%] Building C object CMakeFiles/ocp_pendulum.dir/pendulum_cost/pendulum_cost_y_e_fun.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_cost\pendulum_cost_y_e_fun.c:1:0: warning:
-fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 60%] Building C object CMakeFiles/ocp_pendulum.dir/pendulum_cost/pendulum_cost_y_e_fun_jac_ut_xt.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_cost\pendulum_cost_y_e_fun_jac_ut_xt.c:1:0:
warning: -fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 66%] Building C object CMakeFiles/ocp_pendulum.dir/pendulum_constraints/pendulum_constr_h_0_fun.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_constraints\pendulum_constr_h_0_fun.c:1:0:
warning: -fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 73%] Building C object CMakeFiles/ocp_pendulum.dir/pendulum_constraints/pendulum_constr_h_0_fun_jac_uxt_zt.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_constraints\pendulum_constr_h_0_fun_jac_uxt_zt.c:1:0:
warning: -fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 80%] Building C object CMakeFiles/ocp_pendulum.dir/pendulum_constraints/pendulum_constr_h_fun.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_constraints\pendulum_constr_h_fun.c:1:0:
warning: -fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 86%] Building C object CMakeFiles/ocp_pendulum.dir/pendulum_constraints/pendulum_constr_h_fun_jac_uxt_zt.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\pendulum_constraints\pendulum_constr_h_fun_jac_uxt_zt.c:1:0:
warning: -fPIC ignored for target (all code is position independent)
 /* This file was automatically generated by CasADi 3.7.2.
 ^
[ 93%] Building C object CMakeFiles/ocp_pendulum.dir/acados_solver_pendulum.c.obj
C:\git\acados\examples\acados_matlab_octave\getting_started\c_generated_code\acados_solver_pendulum.c:1:0: warning: -fPIC ignored
for target (all code is position independent)
 /*
 ^
[ 93%] Built target ocp_pendulum
[100%] Linking C shared library acados_ocp_solver_pendulum.dll
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x88): undefined
reference to `ocp_nlp_solver_opts_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0xb4): undefined
reference to `ocp_nlp_solver_opts_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0xe0): undefined
reference to `ocp_nlp_solver_opts_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x107):
undefined reference to `ocp_nlp_solver_opts_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x12e):
undefined reference to `ocp_nlp_solver_opts_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x15d): more
undefined references to `ocp_nlp_solver_opts_set' follow
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x23f):
undefined reference to `ocp_nlp_solver_opts_set_at_stage'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x270):
undefined reference to `ocp_nlp_solver_opts_set_at_stage'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2a1):
undefined reference to `ocp_nlp_solver_opts_set_at_stage'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2d2):
undefined reference to `ocp_nlp_solver_opts_set_at_stage'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x307):
undefined reference to `ocp_nlp_solver_opts_set_at_stage'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x33f): more
undefined references to `ocp_nlp_solver_opts_set_at_stage' follow
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x36b):
undefined reference to `ocp_nlp_solver_opts_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x397):
undefined reference to `ocp_nlp_solver_opts_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x3bb):
undefined reference to `ocp_nlp_solver_opts_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x3dc):
undefined reference to `ocp_nlp_solver_opts_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x400):
undefined reference to `ocp_nlp_solver_opts_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x424): more
undefined references to `ocp_nlp_solver_opts_set' follow
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0xa80):
undefined reference to `ocp_nlp_in_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0xaaa):
undefined reference to `ocp_nlp_cost_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0xbe9):
undefined reference to `external_function_opts_set_to_default'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0xc47):
undefined reference to `external_function_external_param_casadi_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0xc95):
undefined reference to `external_function_external_param_casadi_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0xd04):
undefined reference to `external_function_external_param_casadi_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0xd72):
undefined reference to `external_function_external_param_casadi_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0xdb3):
undefined reference to `external_function_external_param_casadi_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0xe01): more
undefined references to `external_function_external_param_casadi_create' follow
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1150):
undefined reference to `ocp_nlp_in_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x117a):
undefined reference to `ocp_nlp_cost_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x11be):
undefined reference to `ocp_nlp_dynamics_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x11eb):
undefined reference to `ocp_nlp_dynamics_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1219):
undefined reference to `ocp_nlp_dynamics_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1261):
undefined reference to `ocp_nlp_cost_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x12ab):
undefined reference to `ocp_nlp_cost_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1303):
undefined reference to `ocp_nlp_cost_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1383):
undefined reference to `ocp_nlp_cost_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x13cf):
undefined reference to `ocp_nlp_cost_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1428): more
undefined references to `ocp_nlp_cost_model_set' follow
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x145b):
undefined reference to `ocp_nlp_cost_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1485):
undefined reference to `ocp_nlp_cost_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x14d2):
undefined reference to `ocp_nlp_cost_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1500):
undefined reference to `ocp_nlp_cost_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1535):
undefined reference to `ocp_nlp_cost_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1564): more
undefined references to `ocp_nlp_cost_model_set_external_param_fun' follow
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x15dd):
undefined reference to `ocp_nlp_constraints_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x160d):
undefined reference to `ocp_nlp_constraints_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1640):
undefined reference to `ocp_nlp_constraints_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x16a9):
undefined reference to `ocp_nlp_constraints_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x170e):
undefined reference to `ocp_nlp_constraints_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x173c):
undefined reference to `ocp_nlp_constraints_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1768):
undefined reference to `ocp_nlp_constraints_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1797):
undefined reference to `ocp_nlp_constraints_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1815):
undefined reference to `ocp_nlp_constraints_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1843):
undefined reference to `ocp_nlp_constraints_model_set_external_param_fun'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x186f):
undefined reference to `ocp_nlp_constraints_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x189e):
undefined reference to `ocp_nlp_constraints_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1926):
undefined reference to `ocp_nlp_cost_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1970):
undefined reference to `ocp_nlp_cost_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1a17):
undefined reference to `ocp_nlp_in_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1ac6):
undefined reference to `ocp_nlp_cost_model_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1b78):
undefined reference to `ocp_nlp_out_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1ba7):
undefined reference to `ocp_nlp_out_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1bdd):
undefined reference to `ocp_nlp_out_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1c1b):
undefined reference to `ocp_nlp_precompute'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1ca9):
undefined reference to `ocp_nlp_plan_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x1dc9):
undefined reference to `ocp_nlp_config_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x20f1):
undefined reference to `ocp_nlp_dims_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x210f):
undefined reference to `ocp_nlp_dims_set_opt_vars'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x212b):
undefined reference to `ocp_nlp_dims_set_opt_vars'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2147):
undefined reference to `ocp_nlp_dims_set_opt_vars'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2163):
undefined reference to `ocp_nlp_dims_set_opt_vars'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2182):
undefined reference to `ocp_nlp_dims_set_opt_vars'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x219e):
undefined reference to `ocp_nlp_dims_set_global'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x21ba):
undefined reference to `ocp_nlp_dims_set_global'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x221c):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x223c):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x225c):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x227c):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x229c):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x22bc): more
undefined references to `ocp_nlp_dims_set_constraints' follow
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x232c):
undefined reference to `ocp_nlp_dims_set_cost'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x236e):
undefined reference to `ocp_nlp_dims_set_cost'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2398):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x23bc):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x23ff):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2425):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2456):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2476): more
undefined references to `ocp_nlp_dims_set_constraints' follow
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2496):
undefined reference to `ocp_nlp_dims_set_cost'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x24bd):
undefined reference to `ocp_nlp_solver_opts_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x24ee):
undefined reference to `ocp_nlp_out_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x250a):
undefined reference to `ocp_nlp_out_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x258d):
undefined reference to `ocp_nlp_out_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x25bc):
undefined reference to `ocp_nlp_out_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x25f2):
undefined reference to `ocp_nlp_out_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x261a):
undefined reference to `ocp_nlp_in_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x268b):
undefined reference to `ocp_nlp_solver_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x26aa):
undefined reference to `ocp_nlp_precompute'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x26e1):
undefined reference to `ocp_nlp_dims_set_cost'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2705):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2729):
undefined reference to `ocp_nlp_dims_set_constraints'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x27af):
undefined reference to `ocp_nlp_solver_destroy'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x27f3):
undefined reference to `ocp_nlp_solver_opts_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2812):
undefined reference to `ocp_nlp_solver_create'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x282a):
undefined reference to `ocp_nlp_precompute'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x28c8):
undefined reference to `ocp_nlp_out_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x28f4):
undefined reference to `ocp_nlp_out_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2920):
undefined reference to `ocp_nlp_out_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x294c):
undefined reference to `ocp_nlp_out_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2978):
undefined reference to `ocp_nlp_out_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x29a4): more
undefined references to `ocp_nlp_out_set' follow
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2a02):
undefined reference to `ocp_nlp_get'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2a40):
undefined reference to `ocp_nlp_solver_reset_qp_memory'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2a8b):
undefined reference to `ocp_nlp_in_set'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2afb):
undefined reference to `ocp_nlp_in_set_params_sparse'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2b3b):
undefined reference to `ocp_nlp_solve'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2b6b):
undefined reference to `ocp_nlp_setup_qp_matrices_and_factorize'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2b9c):
undefined reference to `ocp_nlp_solver_opts_destroy'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2ba6):
undefined reference to `ocp_nlp_in_destroy'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2bb1):
undefined reference to `ocp_nlp_out_destroy'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2bbc):
undefined reference to `ocp_nlp_out_destroy'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2bc7):
undefined reference to `ocp_nlp_solver_destroy'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2bd2):
undefined reference to `ocp_nlp_dims_destroy'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2bdd):
undefined reference to `ocp_nlp_config_destroy'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2be8):
undefined reference to `ocp_nlp_plan_destroy'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2c01):
undefined reference to `external_function_external_param_casadi_free'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2c0e):
undefined reference to `external_function_external_param_casadi_free'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2c19):
undefined reference to `external_function_external_param_casadi_free'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2c4c):
undefined reference to `external_function_external_param_casadi_free'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2c5a):
undefined reference to `external_function_external_param_casadi_free'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2c81): more
undefined references to `external_function_external_param_casadi_free' follow
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2d9e):
undefined reference to `ocp_nlp_get'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2db9):
undefined reference to `ocp_nlp_get'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2dd4):
undefined reference to `ocp_nlp_get'
CMakeFiles\acados_ocp_solver_pendulum.dir/objects.a(acados_solver_pendulum.c.obj):acados_solver_pendulum.c:(.text+0x2dfa):
undefined reference to `ocp_nlp_get'
collect2.exe: error: ld returned 1 exit status
CMakeFiles\acados_ocp_solver_pendulum.dir\build.make:112: recipe for target 'acados_ocp_solver_pendulum.dll' failed
mingw32-make.exe[2]: *** [acados_ocp_solver_pendulum.dll] Error 1
CMakeFiles\Makefile2:156: recipe for target 'CMakeFiles/acados_ocp_solver_pendulum.dir/all' failed
mingw32-make.exe[1]: *** [CMakeFiles/acados_ocp_solver_pendulum.dir/all] Error 2
Makefile:134: recipe for target 'all' failed
mingw32-make.exe: *** [all] Error 2


Error in AcadosOcpSolver (line 163)
                obj.compile_ocp_shared_lib(code_export_directory);

Error in minimal_example_ocp (line 109)
ocp_solver = AcadosOcpSolver(ocp);

Hi Ash,

It seems there are different issues.

  1. I have no idea why this is in your log:
    /* This file was automatically generated by CasADi 3.7.0.
    This is a legit C comment that is part of the generated code.
    Are these actual errors, or somehow misprinted warnings that correspond to fPIC flag?

  2. Linker errors for functions exposed by the acados core library: ocp_nlp_solver_opts_set, and the following.
    I cannot say what is the root cause.
    Likely a path issue, at least from what you wrote above the libraries seem to be there.

Could you try to debug the function compile_ocp_shared_lib a bit yourself?
The error is in this cmake call:
[ status, result ] = system('cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_ACADOS_OCP_SOLVER_LIB=ON -S . -B .');
Could you look into the generated CMakeLists file in c_generated_code and check if the paths, in particular the one for linking, is correct?

Best,
Jonathan

Thank you for your reply.
I could not figure out the problem. With the hint that it might be path issues, I’ve removed the repo and cloned it again and it works now! So I’m geussing it was some older faulty generated files that was not showing up due to gitignore.

1 Like