Installation problems:undefined symbol: QProblem_init

Hi :wave:

I have installed the ACADOS and python interface and am trying to run the example script (minimal_example_closed_loop.py) which gives me this error:

Traceback (most recent call last):
  File "/home/chenxinqi/acados/examples/acados_python/getting_started/minimal_example_ocp.py", line 104, in <module>
    main()
  File "/home/chenxinqi/acados/examples/acados_python/getting_started/minimal_example_ocp.py", line 83, in main
    ocp_solver = AcadosOcpSolver(ocp, json_file = 'acados_ocp.json')
  File "/home/chenxinqi/acados/interfaces/acados_template/acados_template/acados_ocp_solver.py", line 451, in __init__
    self.__acados_lib = DllLoader(libacados_filepath)
  File "/usr/lib/python3.8/ctypes/__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /home/chenxinqi/acados/lib/../lib/libacados.so: undefined symbol: QProblem_init

I followed the process on the website to installI and set BLASFEO_TARGET = X64_INTEL_CORE and ACADOS_WITH_QPOASES = 1. When I execute the command “make run_examples_c” , it gives the error like this:

sim solver: ERK
sim_crane_example.out: sim_erk_integrator.c:521: sim_erk_cast_workspace: Assertion `(char *) raw_memory + mem->workspace_size >= c_ptr' failed.

I am not very good at Linux systems, and I hope to get your help.

Thanks! :sparkles:

Hi,

what you report are very different errors:
In the second one, you use Make and before you use CMake.
You should stick to one of the build systems.
CMake is the recommended option!

In the first one, somehow qpOASES is not found.
Maybe you can recompile acados without qpOASES and run the python example again.
I suggest:

cd <acados_main_directory>
make clean # this removes all the artifacts from your installation with the make build system.
cd build
cmake ..
make install -j4

Then try run the python example again.

Cheers!

I try to recompile acados without qpOASES, andI run the python example successfully! I realized that my failure to read the words on the website carefully led to the second problem. :flushed:

Anyway, thank you for your enthusiastic help. :smile: