ai4d-iasc / trixie

Scripts and documentation about trixie hpc
17 stars 4 forks source link

Install Rust-1.56.1 #71

Closed SamuelLarkin closed 2 years ago

SamuelLarkin commented 2 years ago

Hi, I need Rust-1.56.1 to work on Trixie. I can see that Rust-1.41.0 (2020/01/20) is available but it is too old.

module avail rust

---------------------------------------------------------------------------- Core Modules -----------------------------------------------------------------------------
   rust/1.28.0 (t)    rust/1.41.0 (t,D)

  Where:
   t:  Tools for development / Outils de développement
   D:  Default Module

Use "module spider" to find all possible modules and extensions.
Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".

If I install my own up-to-date version and try to install something, I get:

cargo install hyperfine

...
error: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /tmp/cargo-installssCMdZ/release/deps/libserde_derive-4e5eb030ca70902c.so)
   --> /home/larkins/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.130/src/lib.rs:293:1
    |
293 | extern crate serde_derive;
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: failed to compile `hyperfine v1.12.0`, intermediate artifacts can be found at `/tmp/cargo-installssCMdZ`

Caused by:
  could not compile `serde` due to previous error

Thank you CentOS for living in the past century.

SamuelLarkin commented 2 years ago

In issue https://github.com/ai4d-iasc/trixie/issues/65#issuecomment-929757647, the instructions show how to load rust-1.53. Why can't I see that version when I run module avail rust?

It looks like some module are hidden because if I do

module load StdEnv/2020
module avail rust

---------------------------------------------------------------------------- Core Modules -----------------------------------------------------------------------------
   rust/1.47.0 (t)    rust/1.53.0 (t,D)

  Where:
   t:  Tools for development / Outils de développement
   D:  Default Module

Use "module spider" to find all possible modules and extensions.
Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".

How are we supposed to know the existence of rust-1.53 as a module?

fieldsa commented 2 years ago

Lmod will automatically calculate dependency modules and conflicts when displaying: $ module avail rust

This is as per the design of Lua environment modules software compared to TCL module's. Thus, if I use StdEnv/2018.3 it displays only those apps which are compatible with that stdenv in cvmfs. However, once you $ module load StdEnv/2020, the list of available software changed in the output.

It is possible using module spider to list all available versions as noted.

nrcfieldsa commented 2 years ago

@SamuelLarkin: the following URL contains additional information on specific versions of rust available on trixie through Compute Canada software stack.

module type version
rust tools 1.28.0, 1.41.0, 1.47.0, 1.53.0, 1.59.0

Is the version 1.53 or 1.59 a workable solution for this requirement - or is a specific rust version 1.56-1 still required?

SamuelLarkin commented 2 years ago

Thanks. I was able to install hyperfine.