odelaneau / shapeit4

Segmented HAPlotype Estimation and Imputation Tool
MIT License
89 stars 17 forks source link

shapeit4.2 - lto1: internal compiler error #65

Open psammarco opened 2 years ago

psammarco commented 2 years ago

Hello guys,

I tried compiling shapeit4.2 on Debian 11 using both g++ 10.2.1 20210110 and g++ 9.3.0 though I am getting a similar error.

g++ 10.2.1 20210110

pietro@cookbox:~/shapeit4$ make
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/io/genotype_reader1.cpp -o obj/genotype_reader1.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/io/haplotype_writer.cpp -o obj/haplotype_writer.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/io/gmap_reader.cpp -o obj/gmap_reader.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/io/genotype_reader2.cpp -o obj/genotype_reader2.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/io/graph_writer.cpp -o obj/graph_writer.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/phaser/phaser_initialise.cpp -o obj/phaser_initialise.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/phaser/phaser_parameters.cpp -o obj/phaser_parameters.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/phaser/phaser_finalise.cpp -o obj/phaser_finalise.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/phaser/phaser_management.cpp -o obj/phaser_management.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/phaser/phaser_algorithm.cpp -o obj/phaser_algorithm.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/models/haplotype_segment_double.cpp -o obj/haplotype_segment_double.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/models/haplotype_segment_single.cpp -o obj/haplotype_segment_single.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/modules/builder.cpp -o obj/builder.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/modules/pbwt_solver.cpp -o obj/pbwt_solver.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/containers/haplotype_set.cpp -o obj/haplotype_set.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/containers/variant_map.cpp -o obj/variant_map.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/containers/bitmatrix.cpp -o obj/bitmatrix.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/containers/genotype_set.cpp -o obj/genotype_set.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/variant.cpp -o obj/variant.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/compute_job.cpp -o obj/compute_job.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/genotype/genotype_prune.cpp -o obj/genotype_prune.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/genotype/genotype_build.cpp -o obj/genotype_build.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/genotype/genotype_sweep.cpp -o obj/genotype_sweep.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/genotype/genotype_mask.cpp -o obj/genotype_mask.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/genotype/genotype_managment.cpp -o obj/genotype_managment.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/hmm_parameters.cpp -o obj/hmm_parameters.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/main.cpp -o obj/main.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 obj/genotype_reader1.o obj/haplotype_writer.o obj/gmap_reader.o obj/genotype_reader2.o obj/graph_writer.o obj/phaser_initialise.o obj/phaser_parameters.o obj/phaser_finalise.o obj/phaser_management.o obj/phaser_algorithm.o obj/haplotype_segment_double.o obj/haplotype_segment_single.o obj/builder.o obj/pbwt_solver.o obj/haplotype_set.o obj/variant_map.o obj/bitmatrix.o obj/genotype_set.o obj/variant.o obj/compute_job.o obj/genotype_prune.o obj/genotype_build.o obj/genotype_sweep.o obj/genotype_mask.o obj/genotype_managment.o obj/hmm_parameters.o obj/main.o /usr/lib/x86_64-linux-gnu/libhts.a /usr/lib/x86_64-linux-gnu/libboost_iostreams.a /usr/lib/x86_64-linux-gnu/libboost_program_options.a -o bin/shapeit4.2 -lz -lbz2 -lm -lpthread -llzma -lcurl -lssl -lcrypto
lto1: internal compiler error: in lto_read_decls, at lto/lto-common.c:1956
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-10/README.Bugs> for instructions.
lto-wrapper: fatal error: g++ returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make: *** [makefile:50: bin/shapeit4.2] Error 1
pietro@cookbox:~/shapeit4$

g++ 9.3.0

pietro@cookbox:~/shapeit4$ make
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/io/genotype_reader1.cpp -o obj/genotype_reader1.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/io/haplotype_writer.cpp -o obj/haplotype_writer.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/io/gmap_reader.cpp -o obj/gmap_reader.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/io/genotype_reader2.cpp -o obj/genotype_reader2.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/io/graph_writer.cpp -o obj/graph_writer.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/phaser/phaser_initialise.cpp -o obj/phaser_initialise.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/phaser/phaser_parameters.cpp -o obj/phaser_parameters.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/phaser/phaser_finalise.cpp -o obj/phaser_finalise.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/phaser/phaser_management.cpp -o obj/phaser_management.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/phaser/phaser_algorithm.cpp -o obj/phaser_algorithm.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/models/haplotype_segment_double.cpp -o obj/haplotype_segment_double.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/models/haplotype_segment_single.cpp -o obj/haplotype_segment_single.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/modules/builder.cpp -o obj/builder.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/modules/pbwt_solver.cpp -o obj/pbwt_solver.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/containers/haplotype_set.cpp -o obj/haplotype_set.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/containers/variant_map.cpp -o obj/variant_map.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/containers/bitmatrix.cpp -o obj/bitmatrix.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/containers/genotype_set.cpp -o obj/genotype_set.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/variant.cpp -o obj/variant.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/compute_job.cpp -o obj/compute_job.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/genotype/genotype_prune.cpp -o obj/genotype_prune.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/genotype/genotype_build.cpp -o obj/genotype_build.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/genotype/genotype_sweep.cpp -o obj/genotype_sweep.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/genotype/genotype_mask.cpp -o obj/genotype_mask.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/genotype/genotype_managment.cpp -o obj/genotype_managment.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/objects/hmm_parameters.cpp -o obj/hmm_parameters.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 -mavx2 -mfma  -c src/main.cpp -o obj/main.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O3 obj/genotype_reader1.o obj/haplotype_writer.o obj/gmap_reader.o obj/genotype_reader2.o obj/graph_writer.o obj/phaser_initialise.o obj/phaser_parameters.o obj/phaser_finalise.o obj/phaser_management.o obj/phaser_algorithm.o obj/haplotype_segment_double.o obj/haplotype_segment_single.o obj/builder.o obj/pbwt_solver.o obj/haplotype_set.o obj/variant_map.o obj/bitmatrix.o obj/genotype_set.o obj/variant.o obj/compute_job.o obj/genotype_prune.o obj/genotype_build.o obj/genotype_sweep.o obj/genotype_mask.o obj/genotype_managment.o obj/hmm_parameters.o obj/main.o /usr/lib/x86_64-linux-gnu/libhts.a /usr/lib/x86_64-linux-gnu/libboost_iostreams.a /usr/lib/x86_64-linux-gnu/libboost_program_options.a -o bin/shapeit4.2 -lz -lbz2 -lm -lpthread -llzma -lcurl -lssl -lcrypto
lto1: internal compiler error: compressed stream: data error
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions.
lto-wrapper: fatal error: g++ returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make: *** [makefile:50: bin/shapeit4.2] Error 1
pietro@cookbox:~/shapeit4$

As far as I am aware of all dependencies have been satisfied:

pietro@cookbox:~/shapeit4$ locate -b '\libz.so'
locate -b '\libbz2.so'
locate -b '\liblzma.so'
locate -b '\libm.so'
locate -b '\libpthread.so'
/usr/lib/x86_64-linux-gnu/libz.so
/usr/lib/x86_64-linux-gnu/libbz2.so
/usr/lib/x86_64-linux-gnu/liblzma.so
/usr/lib/x86_64-linux-gnu/libm.so
/usr/lib/x86_64-linux-gnu/libpthread.so
pietro@cookbox:~/shapeit4$

Any idea? Thanks

pietro@cookbox:~/shapeit4$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-10-Km9U7s/gcc-10-10.2.1/debian/tmp-gcn/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.1 20210110 (Debian 10.2.1-6)
pietro@cookbox:~/shapeit4$
odelaneau commented 2 years ago

Ouch, compilation errors.

It seems related to link time optimizations. Multiple suggestions to try in order:

  1. Remove the -mavx2 -mfma flags and recompile
  2. Change the -O3 in something else to see if the problem relates to this. This should help spotting problems but not be used to build a usable version. With something below -O2, the soft will take forever to run.
  3. Try -fno-lto when linking and see if this solves the issue.

Let me know how it goes,

Best,

Olivier,

psammarco commented 2 years ago

Hello @odelaneau, thanks for getting back to me.

So I removed -mavx2 from CXFLAG, replaced -O3 with -O2 and added -fno-lto to LDFLAG. However I am getting a new error now.

pietro@cookbox:~/tmp/shapeit4$ grep -E 'CXXFLAG|LDFLAG'  makefile  |grep -v '#' |head -2
CXXFLAG=-O2  -mfma
LDFLAG=-O2 -fno-lto
pietro@cookbox:~/tmp/shapeit4$

New build error:

pietro@cookbox:~/tmp/shapeit4$ make
g++ -std=c++11 -O2  -mfma  -c src/io/genotype_reader1.cpp -o obj/genotype_reader1.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/io/haplotype_writer.cpp -o obj/haplotype_writer.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/io/gmap_reader.cpp -o obj/gmap_reader.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/io/genotype_reader2.cpp -o obj/genotype_reader2.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/io/graph_writer.cpp -o obj/graph_writer.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/phaser/phaser_initialise.cpp -o obj/phaser_initialise.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/phaser/phaser_parameters.cpp -o obj/phaser_parameters.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/phaser/phaser_finalise.cpp -o obj/phaser_finalise.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/phaser/phaser_management.cpp -o obj/phaser_management.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/phaser/phaser_algorithm.cpp -o obj/phaser_algorithm.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/models/haplotype_segment_double.cpp -o obj/haplotype_segment_double.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/models/haplotype_segment_single.cpp -o obj/haplotype_segment_single.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/modules/builder.cpp -o obj/builder.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/modules/pbwt_solver.cpp -o obj/pbwt_solver.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/containers/haplotype_set.cpp -o obj/haplotype_set.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/containers/variant_map.cpp -o obj/variant_map.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/containers/bitmatrix.cpp -o obj/bitmatrix.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/containers/genotype_set.cpp -o obj/genotype_set.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/objects/variant.cpp -o obj/variant.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/objects/compute_job.cpp -o obj/compute_job.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/objects/genotype/genotype_prune.cpp -o obj/genotype_prune.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/objects/genotype/genotype_build.cpp -o obj/genotype_build.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/objects/genotype/genotype_sweep.cpp -o obj/genotype_sweep.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/objects/genotype/genotype_mask.cpp -o obj/genotype_mask.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/objects/genotype/genotype_managment.cpp -o obj/genotype_managment.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/objects/hmm_parameters.cpp -o obj/hmm_parameters.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2  -mfma  -c src/main.cpp -o obj/main.o -Isrc -I/usr/lib/x86_64-linux-gnu -I/usr/include
g++ -std=c++11 -O2 -fno-lto obj/genotype_reader1.o obj/haplotype_writer.o obj/gmap_reader.o obj/genotype_reader2.o obj/graph_writer.o obj/phaser_initialise.o obj/phaser_parameters.o obj/phaser_finalise.o obj/phaser_management.o obj/phaser_algorithm.o obj/haplotype_segment_double.o obj/haplotype_segment_single.o obj/builder.o obj/pbwt_solver.o obj/haplotype_set.o obj/variant_map.o obj/bitmatrix.o obj/genotype_set.o obj/variant.o obj/compute_job.o obj/genotype_prune.o obj/genotype_build.o obj/genotype_sweep.o obj/genotype_mask.o obj/genotype_managment.o obj/hmm_parameters.o obj/main.o /usr/lib/x86_64-linux-gnu/libhts.a /usr/lib/x86_64-linux-gnu/libboost_iostreams.a /usr/lib/x86_64-linux-gnu/libboost_program_options.a -o bin/shapeit4.2 -lz -lbz2 -lm -lpthread -llzma -lcurl -lssl -lcrypto
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libhts.a(hts.o): plugin needed to handle lto object
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libhts.a(hts.o): plugin needed to handle lto object
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libhts.a(synced_bcf_reader.o): plugin needed to handle lto object
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libhts.a(synced_bcf_reader.o): plugin needed to handle lto object
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libhts.a(vcf.o): plugin needed to handle lto object
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libhts.a(vcf.o): plugin needed to handle lto object
/usr/bin/ld: obj/genotype_reader1.o: in function `genotype_reader::scanGenotypes(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
genotype_reader1.cpp:(.text+0x840): undefined reference to `bcf_sr_init'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x85f): undefined reference to `bcf_sr_set_threads'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x86d): undefined reference to `bcf_sr_set_regions'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x882): undefined reference to `bcf_sr_add_reader'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x896): undefined reference to `bcf_sr_add_reader'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x8d4): undefined reference to `bcf_sr_next_line'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x926): undefined reference to `bcf_sr_next_line'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x934): undefined reference to `bcf_sr_destroy'
/usr/bin/ld: obj/genotype_reader1.o: in function `genotype_reader::scanGenotypes(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
genotype_reader1.cpp:(.text+0x1a95): undefined reference to `bcf_sr_init'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x1aa8): undefined reference to `bcf_sr_set_threads'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x1ab6): undefined reference to `bcf_sr_set_regions'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x1acf): undefined reference to `bcf_sr_add_reader'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x1b14): undefined reference to `bcf_sr_next_line'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x1b47): undefined reference to `bcf_sr_next_line'
/usr/bin/ld: genotype_reader1.cpp:(.text+0x1b54): undefined reference to `bcf_sr_destroy'
/usr/bin/ld: obj/haplotype_writer.o: in function `haplotype_writer::writeHaplotypes(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
haplotype_writer.cpp:(.text+0x785): undefined reference to `hts_open'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x79b): undefined reference to `hts_set_threads'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x7a7): undefined reference to `bcf_hdr_init'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x7af): undefined reference to `bcf_init'
/usr/bin/ld: haplotype_writer.cpp:(.text+0xc8a): undefined reference to `bcf_hdr_append'
/usr/bin/ld: haplotype_writer.cpp:(.text+0xcc3): undefined reference to `bcf_hdr_append'
/usr/bin/ld: haplotype_writer.cpp:(.text+0xdd9): undefined reference to `bcf_hdr_append'
/usr/bin/ld: haplotype_writer.cpp:(.text+0xe12): undefined reference to `bcf_hdr_append'
/usr/bin/ld: haplotype_writer.cpp:(.text+0xe21): undefined reference to `bcf_hdr_append'
/usr/bin/ld: obj/haplotype_writer.o:haplotype_writer.cpp:(.text+0xe30): more undefined references to `bcf_hdr_append' follow
/usr/bin/ld: obj/haplotype_writer.o: in function `haplotype_writer::writeHaplotypes(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
haplotype_writer.cpp:(.text+0xe62): undefined reference to `bcf_hdr_add_sample'
/usr/bin/ld: haplotype_writer.cpp:(.text+0xe7d): undefined reference to `bcf_hdr_add_sample'
/usr/bin/ld: haplotype_writer.cpp:(.text+0xe8c): undefined reference to `bcf_hdr_write'
/usr/bin/ld: haplotype_writer.cpp:(.text+0xed6): undefined reference to `bcf_clear'
/usr/bin/ld: haplotype_writer.cpp:(.text+0xf00): undefined reference to `bcf_hdr_id2int'
/usr/bin/ld: haplotype_writer.cpp:(.text+0xf29): undefined reference to `bcf_update_id'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x1062): undefined reference to `bcf_update_alleles_str'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x1131): undefined reference to `bcf_update_info'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x117f): undefined reference to `bcf_update_info'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x11d4): undefined reference to `bcf_update_info'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x11fb): undefined reference to `bcf_update_format'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x120d): undefined reference to `bcf_write'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x149b): undefined reference to `bcf_destroy'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x14a3): undefined reference to `bcf_hdr_destroy'
/usr/bin/ld: haplotype_writer.cpp:(.text+0x14af): undefined reference to `hts_close'
/usr/bin/ld: obj/genotype_reader2.o: in function `genotype_reader::readGenotypes1(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
genotype_reader2.cpp:(.text+0x8aa): undefined reference to `bcf_sr_init'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x8c0): undefined reference to `bcf_sr_set_threads'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x8e7): undefined reference to `bcf_sr_set_regions'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x8f3): undefined reference to `bcf_sr_add_reader'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x907): undefined reference to `bcf_sr_add_reader'
/usr/bin/ld: genotype_reader2.cpp:(.text+0xb40): undefined reference to `bcf_sr_next_line'
/usr/bin/ld: genotype_reader2.cpp:(.text+0xbad): undefined reference to `bcf_unpack'
/usr/bin/ld: genotype_reader2.cpp:(.text+0xd55): undefined reference to `bcf_sr_destroy'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x19e6): undefined reference to `bcf_get_format_values'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x1a2b): undefined reference to `bcf_get_format_values'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x2706): undefined reference to `bcf_get_format_values'
/usr/bin/ld: obj/genotype_reader2.o: in function `genotype_reader::readGenotypes0(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
genotype_reader2.cpp:(.text+0x2a47): undefined reference to `bcf_sr_init'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x2a5d): undefined reference to `bcf_sr_set_threads'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x2a72): undefined reference to `bcf_sr_set_regions'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x2a85): undefined reference to `bcf_sr_add_reader'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x2cab): undefined reference to `bcf_sr_next_line'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x2ce2): undefined reference to `bcf_unpack'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x2e69): undefined reference to `bcf_sr_destroy'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x3aea): undefined reference to `bcf_get_format_values'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x42c6): undefined reference to `bcf_get_format_values'
/usr/bin/ld: obj/genotype_reader2.o: in function `genotype_reader::readGenotypes2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
genotype_reader2.cpp:(.text+0x47ca): undefined reference to `bcf_sr_init'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x47de): undefined reference to `bcf_sr_set_threads'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x47fc): undefined reference to `bcf_sr_set_regions'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x4807): undefined reference to `bcf_sr_add_reader'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x4812): undefined reference to `bcf_sr_add_reader'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x4d14): undefined reference to `bcf_sr_next_line'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x4d56): undefined reference to `bcf_unpack'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x500b): undefined reference to `bcf_get_format_values'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x5675): undefined reference to `bcf_sr_destroy'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x655b): undefined reference to `bcf_get_format_values'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x6860): undefined reference to `bcf_get_format_values'
/usr/bin/ld: obj/genotype_reader2.o: in function `genotype_reader::readGenotypes3(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
genotype_reader2.cpp:(.text+0x700d): undefined reference to `bcf_sr_init'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x7021): undefined reference to `bcf_sr_set_threads'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x703e): undefined reference to `bcf_sr_set_regions'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x7049): undefined reference to `bcf_sr_add_reader'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x7054): undefined reference to `bcf_sr_add_reader'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x7060): undefined reference to `bcf_sr_add_reader'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x7584): undefined reference to `bcf_sr_next_line'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x75d7): undefined reference to `bcf_unpack'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x7789): undefined reference to `bcf_sr_destroy'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x875a): undefined reference to `bcf_get_format_values'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x8798): undefined reference to `bcf_get_format_values'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x94ce): undefined reference to `bcf_get_format_values'
/usr/bin/ld: genotype_reader2.cpp:(.text+0x95d7): undefined reference to `bcf_get_format_values'
collect2: error: ld returned 1 exit status
make: *** [makefile:50: bin/shapeit4.2] Error 1
pietro@cookbox:~/tmp/shapeit4$
psammarco commented 2 years ago

Hello @odelaneau. Do you have any idea of how to break this build errors cycle? If not, is there a way I can get the binaries? Thanks

odelaneau commented 2 years ago

Did you compile HTSlib by yourself. Did it go well?

psammarco commented 2 years ago

I have installed the HTSlib package for debian as far as I can remember. Do I need to compile it manually?