Edit this page | Blame

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 <COMMAND>

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
(made with skribilo)