Crate will be renamed to aoflagger-sys
, see issue #2
Rust bindings for https://gitlab.com/aroffringa/aoflagger
aoflagger_sys
itself only requires
AOFlagger
, version >= 3.0, but that
requires many dependencies. On Ubuntu > 21.04, apt install aoflagger-dev
is
enough, but for OS-specific instructions, check out the
linux
and
macOS
CI Scripts and the
Makefile.toml
as these are tested regularly. The instructions below may be updated less
frequently, but are better documented.
If AOFlagger
is in a non-standard location, AOFLAGGER_INCLUDE_DIR
and
AOFLAGGER_LIB
may be set to the include and library directories, respectively,
which allows aoflagger_sys
to find the correct files.
# Prerequisites for rustup, cargo and cargo-make
sudo apt install -y gcc libssl-dev pkg-config curl unzip wget
# Run the Rustup install script, profile=default, toolchain=stable
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -sSf | sh -s -- -y
# Cargo make uses Makefile.toml to automate development tasks
cargo install --force cargo-make
# Use multiple cores when compiling C/C++ libraries
export MAKEFLAGS="-j $MAKEFLAGS"
# Install prerequisite C/C++ libraries
cargo make install_deps
# Ensure that rust can find the C/C++ libraries.
export LD_LIBRARY_PATH="/usr/local/lib/"
# Install homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Run the Rustup install script, profile=default, toolchain=stable
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -sSf | sh -s -- -y
# Cargo make uses Makefile.toml to automate development tasks
cargo install --force cargo-make
# Add the MWATelescope homebrew tap
brew tap mwatelescope/tap
# Install prerequisite libraries
brew cask install mwatelescope/aoflagger
# Ensure that rust can find the C/C++ libraries.
export DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib/
Unfortunately most of the prerequisites aren't available on Windows. However, WSL is a thing.