Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error during compilation of vamos #1

Open
dbeyter opened this issue Jan 11, 2023 · 2 comments
Open

Error during compilation of vamos #1

dbeyter opened this issue Jan 11, 2023 · 2 comments

Comments

@dbeyter
Copy link

dbeyter commented Jan 11, 2023

Hi,
While runnning "make" in the following step:
wget https://github.com/ChaissonLab/vamos/archive/refs/tags/vamos-v1.1.0.tar.gz
tar -zxvf vamos-v1.1.0.tar.gz
cd vamos-v1.1.0/src; make

I received the following error while being in the vamos environment created using conda and installing the 3 packages given in the requirements.txt file:

/home/dorukb/gcc_installations/gcc-8.3.0_bin/bin/g++ -std=c++17 -O3 -DNDEBUG -c main.cpp -I /home/dorukb/.conda/envs/vamos/include
/home/dorukb/gcc_installations/gcc-8.3.0_bin/bin/g++ -std=c++17 -O3 -DNDEBUG -c io.cpp -I /home/dorukb/.conda/envs/vamos/include -I ../abPOA-1.2.5/include -I /home/dorukb/.conda/envs/vamos/include
/home/dorukb/gcc_installations/gcc-8.3.0_bin/bin/g++ -std=c++17 -O3 -DNDEBUG -c vcf.cpp -I /home/dorukb/.conda/envs/vamos/include
/home/dorukb/gcc_installations/gcc-8.3.0_bin/bin/g++ -std=c++17 -O3 -DNDEBUG -c vntr.cpp -I ../abPOA-1.2.5/include -I ../alglib/src -I ../edlib/include -I /home/dorukb/.conda/envs/vamos/include
/home/dorukb/gcc_installations/gcc-8.3.0_bin/bin/g++ -std=c++17 -O3 -DNDEBUG -c acc_lookup_table.cpp -I ../alglib/src -I ../edlib/include -I ../abPOA-1.2.5/include -I /home/dorukb/.conda/envs/vamos/include
/home/dorukb/gcc_installations/gcc-8.3.0_bin/bin/g++ -std=c++17 -O3 -DNDEBUG -c phase.cpp -I /home/dorukb/.conda/envs/vamos/include
/home/dorukb/gcc_installations/gcc-8.3.0_bin/bin/g++ -std=c++17 -O3 -DNDEBUG -c msa.cpp -I ../abPOA-1.2.5/include
/home/dorukb/gcc_installations/gcc-8.3.0_bin/bin/g++ -std=c++17 -O3 -DNDEBUG -o vamos main.o io.o vcf.o vntr.o acc_lookup_table.o phase.o msa.o -L /home/dorukb/.conda/envs/vamos/lib -lhts -lz -lpthread -labpoa -L ../static_lib/ -lalglib -ledlib -lrt
/usr/bin/ld: warning: libdeflate.so.0, needed by /home/dorukb/.conda/envs/vamos/lib/libhts.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libbz2.so.1.0, needed by /home/dorukb/.conda/envs/vamos/lib/libhts.so, not found (try using -rpath or -rpath-link)
/home/dorukb/.conda/envs/vamos/lib/libhts.so: undefined reference to libdeflate_free_compressor' /home/dorukb/.conda/envs/vamos/lib/libhts.so: undefined reference to libdeflate_deflate_decompress'
/home/dorukb/.conda/envs/vamos/lib/libhts.so: undefined reference to libdeflate_alloc_compressor' /home/dorukb/.conda/envs/vamos/lib/libhts.so: undefined reference to BZ2_bzBuffToBuffCompress'
/home/dorukb/.conda/envs/vamos/lib/libhts.so: undefined reference to libdeflate_gzip_decompress' /home/dorukb/.conda/envs/vamos/lib/libhts.so: undefined reference to libdeflate_free_decompressor'
/home/dorukb/.conda/envs/vamos/lib/libhts.so: undefined reference to BZ2_bzBuffToBuffDecompress' /home/dorukb/.conda/envs/vamos/lib/libhts.so: undefined reference to libdeflate_crc32'
/home/dorukb/.conda/envs/vamos/lib/libhts.so: undefined reference to libdeflate_deflate_compress' /home/dorukb/.conda/envs/vamos/lib/libhts.so: undefined reference to libdeflate_gzip_compress'
/home/dorukb/.conda/envs/vamos/lib/libhts.so: undefined reference to `libdeflate_alloc_decompressor'
collect2: error: ld returned 1 exit status
make: *** [vamos] Error 1

Here are the packages and their versions conda installed:

Downloading and Extracting Packages
libdeflate-1.13 | 79 KB
libopenblas-0.3.21 | 10.1 MB
numpy-1.23.4 | 7.1 MB
liblapack-3.9.0 | 13 KB
htslib-1.16 | 2.3 MB
python-3.10.6 | 29.0 MB
libcblas-3.9.0 | 13 KB
boost-cpp-1.80.0 | 17.4 MB
abpoa-1.2.5 | 161 KB
boost-1.80.0 | 350 KB
libblas-3.9.0 | 13 KB
libgfortran-ng-12.2. | 22 KB
libgfortran5-12.2.0 | 1.8 MB
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

I would be happy if you can help with the error I am seeing above.
Thank you,
Doruk

@Jingwen7
Copy link
Collaborator

Hi Doruk,

Thanks for reporting this error!

We cannot replicate this error on our end. I doubt this error is a conda solver issue. So the conda solver installed libdeflate and libbz2 of the wrong version in your env. To solve this, can you try the following?

  1. recreate a conda env with specified libbz2 version: conda create --name vamos_test python=3.10 bzip2=1.0.8
  2. reinstall requirements with a specified libdeflate version: conda install -c bioconda libdeflate=1.7 htslib=1.13 abpoa=1.2.5 boost=1.73.0
  3. then remake to see if the error goes away.

Best,
Jingwen

@dbeyter
Copy link
Author

dbeyter commented Jan 12, 2023

Hi Jingwen,

I applied the changes you suggested, though the same error remained. It seemed like a linking problem, so per https://github.com/samtools/htslib/issues/688 I added " -Wl,-R$(CONDA_PREFIX)/lib" into the rule of vamos in the Makefile, and I was to create the vamos executable.

So the edited Makefile I am using has the vamos rule as:


vamos: main.o io.o vcf.o vntr.o acc_lookup_table.o phase.o msa.o
        $(CXX) $(CFLAGS) -o $@ $^ -L $(CONDA_PREFIX)/lib -Wl,-R$(CONDA_PREFIX)/lib   $(LIBS) -L ../static_lib/ -lalglib -ledlib -lrt

On a side note, and for reference: To be able to run anything that uses conda, I need to use conda-pack to pack/zip a conda environment to carry it to another machine with restricted or no internet access. I noticed I was not able to do this for any environment with python >= 3.10, so I used python 3.9 for the vamos conda env and used the requirements.txt file as is. I was fortunately still able to create the vamos executable. I managed to run the sample command you provided, with the demo.aln.bam file.

I left the issue open in case you wanted to comment on anything that may be erroneous in the workaround I provided, otherwise feel free to close it!

Thank you!
Doruk

@dbeyter dbeyter closed this as completed Jan 12, 2023
@dbeyter dbeyter reopened this Jan 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants