10XGenomics / subset-bam

MIT License
70 stars 10 forks source link

subset-bam installation - cargo build --release not working #59

Open RJ0wly opened 8 months ago

RJ0wly commented 8 months ago

Hello,

I am trying to build the cargo but, at the last compilation it is producing an error:

warning: unused imports: `AccessMode`, `PathExt`
  --> src/main.rs:19:15
   |
19 | use faccess::{AccessMode, PathExt};
   |               ^^^^^^^^^^  ^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default
error[E0107]: struct takes 1 lifetime argument but 2 lifetime arguments were supplied
  --> src/main.rs:36:24
   |
36 | fn get_args() -> clap::App<'static, 'static> {
   |                        ^^^          ------- help: remove this lifetime argument
   |                        |
   |                        expected 1 lifetime argument
   |
note: struct defined here, with 1 lifetime parameter: `'help`
  --> /home/r_jelin@intra.igr.fr/.cargo/registry/src/index.crates.io-6f17d22bba15001f/clap-3.2.25/src/builder/command.rs:78:12
   |
78 | pub struct App<'help> {
   |            ^^^ -----
For more information about this error, try `rustc --explain E0107`.
warning: `subset-bam` (bin "subset-bam") generated 1 warning
error: could not compile `subset-bam` (bin "subset-bam") due to previous error; 1 warning emitted

I had this error using 1.65.0 rust version.

I try to install with multiple rust version. version < 1.63.0 does not compile because rayon-core need at least rust=1.63.0.

Also rust=1.77.0 does not work either:

error: linking with `/mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/snakemake/bin/x86_64-conda-linux-gnu-cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/snakemake/lib/rustlib/x86_64-unknown-linux-gnu/bin:/mnt/beegfs/software/gcc/10.2/bin:/mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/env_vep
/bin/cargo:/mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/snakemake/bin:/mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/condabin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/dell/srvadmin/bin:/home/r_jelin@int
ra.igr.fr/.local/bin:/home/r_jelin@intra.igr.fr/bin" VSLANG="1033" "/mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/snakemake/bin/x86_64-conda-linux-gnu-cc" "-m64" "/tmp/rustctC6o6T/symbols.o" "/mnt/beegfs/userdata/r_jelin/bin
/subset-bam/target/release/deps/subset_bam-96d21d351e6da5d2.subset_bam.8dee7720ac2606b5-cgu.00.rcgu.o" "-Wl,--as-needed" "-L" "/mnt/beegfs/userdata/r_jelin/bin/subset-bam/target/release/deps" "-L" "/mnt/beegfs/userdata/r_jelin/bin/subset
-bam/target/release/build/ring-069c03a2c83d7a8a/out" "-L" "/mnt/beegfs/userdata/r_jelin/bin/subset-bam/target/release/build/rust-htslib-d7b7f1c952f4c835/out/htslib" "-L" "/mnt/beegfs/userdata/r_jelin/bin/subset-bam/target/release/build/r
ust-htslib-d7b7f1c952f4c835/out" "-L" "/mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/snakemake/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/tmp/rustctC6o6T/librust_htslib-e53a30d23a41bd60.rlib" "/tmp/rustctC6o6
T/libring-9cd235b2e3bccc54.rlib" "/mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/snakemake/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-13fc9d1ed9c7a2bc.rlib" "-Wl,-Bdynamic" "-lz" "-llzma" "-lbz2" "-lutil" "
-ldl" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/snakemake/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "
/mnt/beegfs/userdata/r_jelin/bin/subset-bam/target/release/deps/subset_bam-96d21d351e6da5d2" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs"
  = note: /mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/snakemake/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/snakemake/b
in/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../lib/liblzma.so: undefined reference to `memcpy@GLIBC_2.14'
          /mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/snakemake/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/beegfs/userdata/r_jelin/conda_install/miniconda3/envs/snakemake/b
in/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../lib/liblzma.so: undefined reference to `clock_gettime@GLIBC_2.17'
          collect2: error: ld returned 1 exit status

  = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

Which version of rust should I install ? does a singularity with subset-bam exists ? it would be great.