10XGenomics / vartrix

Single-Cell Genotyping Tool
MIT License
185 stars 27 forks source link

Compile issue #38

Closed moravveji closed 4 years ago

moravveji commented 4 years ago

Dear VarTrix devel team

I am trying to compile VarTrix 1.1.8 from source for one of our cluster (Intel Skylake machines, CentOS 6.7) users. I am loading Rust, LLVM and CLANG dependencies as LMOD modules (build script is attached: vartrix.sh).

At the very begining of the build step, I get the following error (full logfile log.skl is attached, together from the output of the help message rustc.txt):

error[E0277]: `htslib::htsFile__bindgen_ty_1` doesn't implement `std::fmt::Debug`

Do you guys have any idea if I am still missing a dependency(ies) or I have set other environment variables?

Thanks in advance for your support. Ehsan

vartrix-logs.zip

moravveji commented 4 years ago

And by the way, I cannot find the pre-build binary file for version 1.1.8, similar to e.g. vartrix-v1.1.7-x86_64-unknown-linux-gnu.tar.gz. Would you please point me to the right place?

pmarks commented 4 years ago

Hi @moravveji - that looks like an issue we've seen in older versions of bindgen with more recent rustc releases. Can you try building with the latest version of vartrix (1.1.9 / master)? It has a few packages updated & may solve this issue.

We've had some trouble with our auto-builder -- I'll see if I can get binaries upload in the next few days.

moravveji commented 4 years ago

Dear Patrick. Thanks for your reply. I will try to fetch and rebuilt the latest release then. However, when I tried the prebuilt binaries for v. 1.1.7 on our CentOS 7.6 machine, I got an error complaining about GLIBC version. On our machine, GLIBC is version 2.17, whereas VarTrix expects at least version 2.18.

$> vartrix
vartrix: /usr/lib64/libc.so.6: version `GLIBC_2.18' not found (required by vartrix)

I am worried that this version dependency be a total showstopper!

Does VarTrix really really really depend on GLIBC 2.18 and newer? Or that is just a version check, which can be made a bit looser? If this dependency cannot be compromised, then, I am afraid building from source would help at all.

Would be happy to hear your words of wisdom.

pmarks commented 4 years ago

@moravveji If you build yourself you will be fine.  The GLIBC version dependency is determined by the version of GLIBC present build time, it's not a property of vartrix. You only run into the error if you build on a newer linux disto, then try to run the binary on an old distro.

moravveji commented 4 years ago

Can you try building with the latest version of vartrix (1.1.9 / master)?

The latest tag that I see on the repository is 1.1.8, else I would have certainly started with 1.1.9. Where can I fetch the files (source and/or binaries) for the latest version 1.1.9?

pmarks commented 4 years ago

@moravveji See the latest binary releases here: https://github.com/10XGenomics/vartrix/releases/tag/v1.1.14

They should be compatible with most linux distros going back to CentOS 6 or Ubuntu 12.04. I've also updated the htslib version we depend on which should fix the compile error you saw.