Debian GNU/Linux

From Aquarium-Control
Revision as of 15:43, 30 December 2024 by Uwe (talk | contribs)
Jump to navigation Jump to search

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:

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).

During the first run, the application will fail to retrieve a hash from the database. The hash is used to compare against the hash of the executable. In case of mismatch, the control application issues a warning. For official releases, the databases will be provided with the hash of the release. For development purposes, you may need to enter a first hash into the database using

INSERT INTO VERSION VALUES(0, 1, 1, has_value_informed_from_terminal_output)

Make sure that major, minor and build number correspond to values from Cargo.toml.

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.