# Use a recent Rust on Octopus For impg we currently need a rust that is more recent than what we have in Debian or Guix. No panic, because Rust has few requirements. Install latest rust using the script ``` curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` Set path ``` . ~/.cargo/env ``` Update rust ``` rustup default stable ``` Next update Rust ``` octopus01:~/tmp/impg$ . ~/.cargo/env octopus01:~/tmp/impg$ rustup default stable info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu' info: latest update on 2025-05-15, rust version 1.87.0 (17067e9ac 2025-05-09) info: downloading component 'cargo' info: downloading component 'clippy' info: downloading component 'rust-docs' info: downloading component 'rust-std' info: downloading component 'rustc' (...) ``` and build the package ``` octopus01:~/tmp/impg$ cargo build ``` Since we are not in guix we get the local dependencies: ``` octopus01:~/tmp/impg$ ldd target/debug/impg linux-vdso.so.1 (0x00007ffdb266a000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe404001000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe403ff7000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe403fd6000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe403fd1000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe403e11000) /lib64/ld-linux-x86-64.so.2 (0x00007fe404682000) ``` Login on another octopus - say 02 you can run impg from this directory: ``` octopus02:~$ ~/tmp/impg/target/debug/impg Command-line tool for querying overlaps in PAF files Usage: impg Commands: index Create an IMPG index partition Partition the alignment query Query overlaps in the alignment stats Print alignment statistics Options: -h, --help Print help -V, --version Print version ```