Hello,
I wanted to compile scalpel on our cluster today, and it failed (I tried with version 4.1, 5.1, 5.2 and 5.3). It always sends me a ld error.
Would you know what this might be about ?
Thank you !
make[2]: quittant le répertoire « /mnt/seq3/B15_ICE/test_scalpel/scalpel-code/bcftools-1.1/htslib-1.1 »
gcc -g -Wall -Wc++-compat -O2 -I. -Ihtslib-1.1 -fPIC -shared -o plugins/counts.so version.c plugins/counts.c -Lhtslib-1.1 -lhts
gcc -g -Wall -Wc++-compat -O2 -I. -Ihtslib-1.1 -fPIC -shared -o plugins/dosage.so version.c plugins/dosage.c -Lhtslib-1.1 -lhts
gcc -g -Wall -Wc++-compat -O2 -I. -Ihtslib-1.1 -fPIC -shared -o plugins/fill-AN-AC.so version.c plugins/fill-AN-AC.c -Lhtslib-1.1 -lhts
gcc -g -Wall -Wc++-compat -O2 -I. -Ihtslib-1.1 -fPIC -shared -o plugins/frameshifts.so version.c plugins/frameshifts.c -Lhtslib-1.1 -lhts
gcc -g -Wall -Wc++-compat -O2 -I. -Ihtslib-1.1 -fPIC -shared -o plugins/missing2ref.so version.c plugins/missing2ref.c -Lhtslib-1.1 -lhts
make[1]: quittant le répertoire « /mnt/seq3/B15_ICE/test_scalpel/scalpel-code/bcftools-1.1 »
cd Microassembler; make; cd ../
make[1]: entrant dans le répertoire « /mnt/seq3/B15_ICE/test_scalpel/scalpel-code/Microassembler »
g++ -std=c++0x -Wno-deprecated -Wall -O3 -fexceptions -Wl,-rpath,/mnt/seq3/B15_ICE/test_scalpel/scalpel-code/bamtools-2.3.0/lib/ -I/mnt/seq3/B15_ICE/test_scalpel/scalpel-code/bamtools-2.3.0/include/ -L/mnt/seq3/B15_ICE/test_scalpel/scalpel-code/bamtools-2.3.0/lib/ Microassembler.cc Edge.cc Node.cc Graph.cc Path.cc ContigLink.cc align.cc util.cc -o Microassembler -lbamtools -lz
/tmp/ccYxEk9U.o: In function Microassembler::run(int, char**)':
Microassembler.cc:(.text+0x7686): undefined reference toBamTools::SamHeader::SamHeader(std::__cxx11::basic_string<char, std::char_traits\<char="">, std::allocator\<char> > const&)'
Microassembler.cc:(.text+0x7775): undefined reference to BamTools::BamReader::Open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
Microassembler.cc:(.text+0x947f): undefined reference toBamTools::BamReader::GetReferenceID(std::__cxx11::basic_string<char, std::char_traits\<char="">, std::allocator\<char> > const&) const'
Microassembler.cc:(.text+0x9494): undefined reference to BamTools::BamReader::GetReferenceID(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
Microassembler.cc:(.text+0x986e): undefined reference toBamTools::BamAlignment::FindTag(std::__cxx11::basic_string<char, std::char_traits\<char="">, std::allocator\<char> > const&, char*&, unsigned int const&, unsigned int&) const'
collect2: erreur: ld a retourné 1 code d'état d'exécution
make[1]: *** [Microassembler] Erreur 1
make[1]: quittant le répertoire « /mnt/seq3/B15_ICE/test_scalpel/scalpel-code/Microassembler »</char></char,></char></char,></char></char,>
Hi Yannick,
for some reason the comapiler is not able to find the BamTools library. Bamtools is privieded as part of the Scalpel package and should have been compiled first during the comilation step. Were there other compilation errors before the one from the Microassembler?
Last edit: Giuseppe Narzisi 2016-02-25
How you solve this problems? I have encountered the same problem! Could you give me some advice?
g++ -std=c++0x -Wno-deprecated -Wall -O3 -fexceptions -Wl,-rpath,/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/lib/ -I/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/include/ -L/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/lib/ Microassembler.cc Edge.cc Node.cc Graph.cc Path.cc ContigLink.cc align.cc util.cc -o Microassembler -lbamtools -lz
/tmp/ccaNVOeh.o: In function
Microassembler::run(int, char**)': Microassembler.cc:(.text+0x7214): undefined reference toBamTools::SamHeader::SamHeader(std::__cxx11::basic_string<char, std::char_traits\<char="">, std::allocator\<char> > const&)'Microassembler.cc:(.text+0x7306): undefined reference to
BamTools::BamReader::Open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' Microassembler.cc:(.text+0x8fff): undefined reference toBamTools::BamReader::GetReferenceID(std::__cxx11::basic_string<char, std::char_traits\<char="">, std::allocator\<char> > const&) const'Microassembler.cc:(.text+0x9014): undefined reference to
BamTools::BamReader::GetReferenceID(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' Microassembler.cc:(.text+0x9579): undefined reference toBamTools::BamAlignment::FindTag(std::__cxx11::basic_string<char, std::char_traits\<char="">, std::allocator\<char> > const&, char*&, unsigned int const&, unsigned int&) const'collect2: error: ld returned 1 ex</char></char,></char></char,></char></char,>
Last edit: Weiliu 2017-06-18
Weiliu, can you check if Bamtools was compiled correctly within the scalpel ditribution? Also, what compiler version are you using?
Thanks, Nsrzisi,
I have compiled bamtools-2.3.0 with /cmake-3.5.0 and gcc5.10.it has repoerted like that:
[ 0%] Built target SharedHeaders
[ 0%] Built target AlgorithmsHeaders
[ 0%] Built target APIHeaders
[ 1%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/BamAlignment.cpp.o
[ 2%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/BamMultiReader.cpp.o
[ 3%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/BamReader.cpp.o
[ 4%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/BamWriter.cpp.o
[ 5%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamHeader.cpp.o
[ 6%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamProgram.cpp.o
[ 7%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamProgramChain.cpp.o
[ 8%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamReadGroup.cpp.o
[ 9%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamReadGroupDictionary.cpp.o
[ 10%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamSequence.cpp.o
[ 11%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/SamSequenceDictionary.cpp.o
[ 12%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/bam/BamHeader_p.cpp.o
[ 12%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/bam/BamMultiReader_p.cpp.o
[ 13%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/bam/BamRandomAccessController_p.cpp.o
[ 14%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/bam/BamReader_p.cpp.o
[ 15%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/bam/BamWriter_p.cpp.o
[ 16%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/index/BamIndexFactory_p.cpp.o
[ 17%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/index/BamStandardIndex_p.cpp.o
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/index/BamStandardIndex_p.cpp: In member function ‘void BamTools::Internal::BamStandardIndex::WriteLinearOffsets(const int&, BamTools::Internal::BaiLinearOffsetVector&)’:
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/index/BamStandardIndex_p.cpp:958: warning: comparison between signed and unsigned integer expressions
[ 18%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/index/BamToolsIndex_p.cpp.o
[ 19%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BamDeviceFactory_p.cpp.o
[ 20%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BamFile_p.cpp.o
[ 21%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BamFtp_p.cpp.o
[ 22%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BamHttp_p.cpp.o
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/BamHttp_p.cpp: In member function ‘bool BamTools::Internal::BamHttp::SendGetRequest(size_t)’:
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/BamHttp_p.cpp:409: warning: comparison between signed and unsigned integer expressions
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/BamHttp_p.cpp: In member function ‘bool BamTools::Internal::BamHttp::SendHeadRequest()’:
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/BamHttp_p.cpp:501: warning: comparison between signed and unsigned integer expressions
[ 23%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BamPipe_p.cpp.o
[ 24%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/BgzfStream_p.cpp.o
[ 25%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/ByteArray_p.cpp.o
[ 26%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/HostAddress_p.cpp.o
[ 27%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/HostInfo_p.cpp.o
[ 28%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/HttpHeader_p.cpp.o
[ 29%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/ILocalIODevice_p.cpp.o
[ 30%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/RollingBuffer_p.cpp.o
[ 31%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/TcpSocket_p.cpp.o
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/TcpSocket_p.cpp: In member function ‘std::string BamTools::Internal::TcpSocket::ReadLine(int64_t)’:
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/TcpSocket_p.cpp:336: warning: comparison between signed and unsigned integer expressions
[ 32%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/TcpSocketEngine_p.cpp.o
[ 33%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/io/TcpSocketEngine_unix_p.cpp.o
[ 34%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/sam/SamFormatParser_p.cpp.o
[ 35%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/sam/SamFormatPrinter_p.cpp.o
[ 36%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/sam/SamHeaderValidator_p.cpp.o
[ 37%] Building CXX object src/api/CMakeFiles/BamTools-static.dir/internal/utils/BamException_p.cpp.o
[ 38%] Linking CXX static library ../../../lib/libbamtools.a
[ 38%] Built target BamTools-static
Scanning dependencies of target BamTools
[ 38%] Building CXX object src/api/CMakeFiles/BamTools.dir/BamAlignment.cpp.o
[ 39%] Building CXX object src/api/CMakeFiles/BamTools.dir/BamMultiReader.cpp.o
[ 40%] Building CXX object src/api/CMakeFiles/BamTools.dir/BamReader.cpp.o
[ 41%] Building CXX object src/api/CMakeFiles/BamTools.dir/BamWriter.cpp.o
[ 42%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamHeader.cpp.o
[ 43%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamProgram.cpp.o
[ 44%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamProgramChain.cpp.o
[ 45%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamReadGroup.cpp.o
[ 46%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamReadGroupDictionary.cpp.o
[ 47%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamSequence.cpp.o
[ 48%] Building CXX object src/api/CMakeFiles/BamTools.dir/SamSequenceDictionary.cpp.o
[ 49%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/bam/BamHeader_p.cpp.o
[ 50%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/bam/BamMultiReader_p.cpp.o
[ 51%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/bam/BamRandomAccessController_p.cpp.o
[ 52%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/bam/BamReader_p.cpp.o
[ 53%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/bam/BamWriter_p.cpp.o
[ 54%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/index/BamIndexFactory_p.cpp.o
[ 55%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/index/BamStandardIndex_p.cpp.o
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/index/BamStandardIndex_p.cpp: In member function ‘void BamTools::Internal::BamStandardIndex::WriteLinearOffsets(const int&, BamTools::Internal::BaiLinearOffsetVector&)’:
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/index/BamStandardIndex_p.cpp:958: warning: comparison between signed and unsigned integer expressions
[ 56%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/index/BamToolsIndex_p.cpp.o
[ 57%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BamDeviceFactory_p.cpp.o
[ 58%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BamFile_p.cpp.o
[ 59%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BamFtp_p.cpp.o
[ 60%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BamHttp_p.cpp.o
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/BamHttp_p.cpp: In member function ‘bool BamTools::Internal::BamHttp::SendGetRequest(size_t)’:
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/BamHttp_p.cpp:409: warning: comparison between signed and unsigned integer expressions
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/BamHttp_p.cpp: In member function ‘bool BamTools::Internal::BamHttp::SendHeadRequest()’:
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/BamHttp_p.cpp:501: warning: comparison between signed and unsigned integer expressions
[ 61%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BamPipe_p.cpp.o
[ 62%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/BgzfStream_p.cpp.o
[ 63%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/ByteArray_p.cpp.o
[ 64%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/HostAddress_p.cpp.o
[ 65%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/HostInfo_p.cpp.o
[ 66%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/HttpHeader_p.cpp.o
[ 67%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/ILocalIODevice_p.cpp.o
[ 68%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/RollingBuffer_p.cpp.o
[ 69%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/TcpSocket_p.cpp.o
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/TcpSocket_p.cpp: In member function ‘std::string BamTools::Internal::TcpSocket::ReadLine(int64_t)’:
/lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/src/api/internal/io/TcpSocket_p.cpp:336: warning: comparison between signed and unsigned integer expressions
[ 70%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/TcpSocketEngine_p.cpp.o
[ 71%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/io/TcpSocketEngine_unix_p.cpp.o
[ 72%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/sam/SamFormatParser_p.cpp.o
[ 73%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/sam/SamFormatPrinter_p.cpp.o
[ 74%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/sam/SamHeaderValidator_p.cpp.o
[ 75%] Building CXX object src/api/CMakeFiles/BamTools.dir/internal/utils/BamException_p.cpp.o
[ 76%] Linking CXX shared library ../../../lib/libbamtools.so
[ 76%] Built target BamTools
Scanning dependencies of target jsoncpp
[ 77%] Building CXX object src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/json_reader.cpp.o
[ 78%] Building CXX object src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/json_value.cpp.o
[ 79%] Building CXX object src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/json_writer.cpp.o
[ 80%] Linking CXX static library ../../../../lib/libjsoncpp.a
[ 80%] Built target jsoncpp
Scanning dependencies of target BamTools-utils
[ 81%] Building CXX object src/utils/CMakeFiles/BamTools-utils.dir/bamtools_fasta.cpp.o
[ 82%] Building CXX object src/utils/CMakeFiles/BamTools-utils.dir/bamtools_options.cpp.o
[ 83%] Building CXX object src/utils/CMakeFiles/BamTools-utils.dir/bamtools_pileup_engine.cpp.o
[ 84%] Building CXX object src/utils/CMakeFiles/BamTools-utils.dir/bamtools_utilities.cpp.o
[ 85%] Linking CXX static library ../../../lib/libbamtools-utils.a
[ 85%] Built target BamTools-utils
Scanning dependencies of target bamtools_cmd
[ 86%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_convert.cpp.o
[ 87%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_count.cpp.o
[ 88%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_coverage.cpp.o
[ 89%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_filter.cpp.o
[ 90%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_header.cpp.o
[ 91%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_index.cpp.o
[ 92%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_merge.cpp.o
[ 93%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_random.cpp.o
[ 94%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o
[ 95%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_revert.cpp.o
[ 96%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_sort.cpp.o
[ 97%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_split.cpp.o
[ 98%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_stats.cpp.o
[ 99%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools.cpp.o
[100%] Linking CXX executable ../../../bin/bamtools
[100%] Built target bamtools_cmd
Is this mean bamtools installed correctly?
And the reported four scripts are included in the library of bamtools
ls /lustre/user/wwlab05/bin/scalpel-0.5.3/bamtools-2.3.0/include/api/
algorithms
BamAlignment.h BamIndex.h BamWriter.h SamHeader.h SamReadGroupDictionary.h SamSequence.h api_global.h BamAux.h BamMultiReader.h IBamIODevice.h SamProgramChain.h SamReadGroup.h BamAlgorithms.h BamConstants.h BamReader.h SamConstants.h SamProgram.h SamSequenceDictionary.h
Pleass try with an older version of the GCC compiler such as v4.8.x
Some people have reported similar problems with the more recent 5.3 compiler:
https://github.com/Homebrew/homebrew-science/issues/3929
Last edit: Giuseppe Narzisi 2017-06-20
Hi, Nsrzisi,Thank you!
You advices do help me ! I used gcc4.1 to compile the scalpel and it works !
Glad it worked!