Skip to content

Instantly share code, notes, and snippets.

@paulcarroty
Last active August 23, 2025 14:15
Show Gist options
  • Save paulcarroty/996006831ab308ff243757c9ed31ca9e to your computer and use it in GitHub Desktop.
Save paulcarroty/996006831ab308ff243757c9ed31ca9e to your computer and use it in GitHub Desktop.
Fastotp compilation guide for Ubuntu 24 (https://gitlab.com/fastotp1/fastotp)
  • setup rustup nightly: rustup default nightly
  • git clone https://gitlab.com/fastotp1/fastotp.git && rm fastotp/rust-toolchain.toml
  • cd fastotp/application_iced; cargo fetch & cargo vendor && mv vendor ../
  • add the next to fastotp/.cargo/config.toml:
[source.crates-io]
replace-with = "vendored-sources"

[source."git+https://github.com/hecrj/cosmic-text.git?rev=c3cd24dc972bb8fd55d016c81ac9fa637e0a4ada"]
git = "https://github.com/hecrj/cosmic-text.git"
rev = "c3cd24dc972bb8fd55d016c81ac9fa637e0a4ada"
replace-with = "vendored-sources"

[source."git+https://github.com/hecrj/glyphon.git?rev=8324f20158a62f8520bad4ed09f6aa5552f8f2a6"]
git = "https://github.com/hecrj/glyphon.git"
rev = "8324f20158a62f8520bad4ed09f6aa5552f8f2a6"
replace-with = "vendored-sources"

[source."git+https://github.com/hecrj/iced"]
git = "https://github.com/hecrj/iced"
replace-with = "vendored-sources"

[source."git+https://github.com/iced-rs/winit.git?rev=c52db2045d0a2f1b8d9923870de1d4ab1994146e"]
git = "https://github.com/iced-rs/winit.git"
rev = "c52db2045d0a2f1b8d9923870de1d4ab1994146e"
replace-with = "vendored-sources"

[source.vendored-sources]
directory = "vendor"
  • use only old nightly version: rustup install nightly-2024-01-01 && rustup default nightly-2024-01-01

  • deps:

    • apt install capnproto libcapnp-1.0.1 libcapnp-dev librust-capnp-dev librust-capnp-futures-dev librust-capnp-rpc-dev
    • apt install libxcb-xfixes0-dev libxcb-shape0-dev libxcb-shape0-dev
    • apt install libxcb1-dev libxcb1 libxcb-xvmc0-dev libxcb-xv0-dev
    • `apt install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev
  • build command: application_iced# cargo release_iced --offline -Znext-lockfile-bump

  • disable some linters - application_iced/src/main.rs header should be next:

    #![deny(
     array_into_iter,
     clippy::rest_pat_in_fully_bound_structs,
     clippy::separated_literal_suffix,
     missing_copy_implementations,
     missing_debug_implementations,
     missing_docs,
     non_camel_case_types,
     rust_2018_idioms,
     trivial_casts,
     trivial_numeric_casts,
     type_alias_bounds,
     unknown_lints,
     unsafe_code,
     while_true    )]
    
  • linked libs:

          ldd ../target/release/fastotp_iced_gui
          linux-vdso.so.1 (0x00007ffe2e9fc000)
          libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007b2ace207000)
          libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007b2ace1d9000)
          libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007b2ace0f0000)
          libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007b2acdede000)
          libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007b2acded8000)
          libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007b2acdece000)
          /lib64/ld-linux-x86-64.so.2 (0x00007b2acedd4000)
          libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007b2acdeb8000)
          libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007b2acdea9000) 
     ```
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment