Debian GNU/Linux
Following are the steps to install the toolchain on a Debian 11 system:
Main control application
Install the necessary packages for building and compiling Rust programs:
sudo apt install build-essential curl -y
Install additional packages:
sudo apt install libssl-dev pkg-config
sudo apt install libudev-dev
Download and install Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Update current shell:
source ~/.cargo/env
Verify Rust installation:
rustc --version
As of December 2024, Rust version is 1.83.0.
Install git:
apt-get install git
Clone the git repositories into /usr/local/src:
- Main control application:
git clone https://in-dubio@bitbucket.org/in-dubio/aquarium_control.git - Client application:
git clone https://in-dubio@bitbucket.org/in-dubio/aquarium_client.git - Test server:
git clone https://in-dubio@bitbucket.org/in-dubio/aquarium_test_server.git - Databases
Verify if control application, client application and test server can be build using cargo build.
Create the message queues required for operation or testing by running create_mqueues.sh with root privileges.
Create the folder for the file-based output matching to the .toml file configuration: mkdir /var/local/aquarium-ctrl.
Create the lock file for the control application matching the .toml file configuration: touch /var/local/aquarium-ctrl.pid
After installation of the databases, you can proceed with the tests using cargo test -- --test-threads=8.
As of December 2024, running testing with more than eight threads may result in flaky test cases (failing randomly).
Client application
Run cargo build in the installation directory of the client.
Test server
Run cargo build in the installation directory of the client.
Run cargo test in the installation directory of the client.
Start simulation run
First start the test server using cargo run, then start the main application:
The configuration file aquarium_control_demo_server.toml is already prepared accordingly and needs to be provided as command line parameter when starting the main application:
cargo run config/aquarium_control_demo_server.toml
Alternatively, adapt the configuration file of the default configuration file aquarium.toml. Set all parameters named use_simulator to true.