Beginner - octave installation

Hi :wave:

Sorry this seems like a very dumb question. But does the octave installation/interface work?

  • What interface of acados are you using: Octave
  • What do you want to achieve? Run the basic examples to test installation

Installation steps as on the website without throwing errors. For some reason had to download the octave-casadi package twice (no folder was created in external), might not be relevant.

git clone https://github.com/acados/acados.git
  556  cd acados
  557  git submodule update --recursive --init
  558  mkdir -p build
  559  cd build
  560  cmake -DACADOS_WITH_QPOASES=ON ..
  561  make install -j4
  562  cd external
  563  wget -q -nc --show-progress https://github.com/casadi/casadi/releases/download/3.4.5/casadi-linux-octave-4.4.1-v3.4.5.tar.gz
  564  mkdir -p casadi-octave
  565  ls -la
  566  tar -xf casadi-linux-octave-4.4.1-v3.4.5.tar.gz -C casadi-octave
  567  exit
  568  wget -q -nc --show-progress https://github.com/casadi/casadi/releases/download/3.4.5/casadi-linux-octave-4.4.1-v3.4.5.tar.gz
  569  mkdir -p casadi-octave
  570  tar -xf casadi-linux-octave-4.4.1-v3.4.5.tar.gz -C casadi-octave

this error message:

>> minimal_example_sim

warning: addpath: package directories should not be added to path: xxx/Projects/Casadi/acados/external/casadi-octave/+casadi

We cannot automatically set up CasADi for Octave.
Please download the dedicated Casadi version from https://web.casadi.org/get/

and unpack it into <acados_root_dir>/external/casadi-octave.

error: exiting
error: called from
    check_acados_requirements at line 55 column 13
    minimal_example_sim at line 37 column 1

Then I keep messing around with removing folders from the path but ‘/Projects/Casadi/acados/external/casadi-octave/+casadi’ just keeps being added back to the path (?) but with slightly different errors … .

>> minimal_example_sim

warning: addpath: package directories should not be added to path: xxx/Projects/Casadi/acados/external/casadi-octave/+casadi
error: xxx/Projects/Casadi/acados/external/casadi-octave/casadiMEX.mex: failed to load
Incompatible version or missing dependency?
liboctinterp.so.6: cannot open shared object file: No such file or directory
error: called from
    sym at line 367 column 29
    get_pendulum_on_cart_model at line 56 column 7
    minimal_example_sim at line 46 column 7

Just wondering if octave is supported or if I should just try to switch to python?

Hi,

yes, the Octave interface is actively tested on CI and works.
On my machine, I use Octave version 6.4.0, which is the default in Ubuntu 22.04.
On CI CasADi is installed with this script: .github/linux/install_casadi_octave.sh

Please test separately, that casadi works in your Octave setup and is located in the expected path, by just running a minimal example from https://web.casadi.org/

Best,
Jonathan

1 Like

I pushed a fix to the documentation in acados PR 1384.

Thanks, not sure what I did different today, but the getting_started does seem to work now.

p.s.: I think there is an error now in the documentation (the ./ in ./casadi-octave)
unzip casadi-linux-octave.zip -d ./casadi-octave;