ncbi / ngs-tools

Other
103 stars 25 forks source link

Linking error during sra-search build #7

Closed VFLashM closed 3 years ago

VFLashM commented 7 years ago

Hi,

I'm getting linking error trying to build ngs-tools.

> make

make[1]: Entering directory `/home/zilek2/ngs/ngs-tools/ngs-vdb/src'
make /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/ilib/ngs-vdb
make[2]: Entering directory `/home/zilek2/ngs/ngs-tools/ngs-vdb/src'
ar rc /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/ilib/libngs-vdb.a /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/ngs-vdb/src/FragmentBlob.o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/ngs-vdb/src/FragmentBlobIterator.o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/ngs-vdb/src/NGS-VDB.o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/ngs-vdb/src/VdbReadCollection.o
make[2]: Leaving directory `/home/zilek2/ngs/ngs-tools/ngs-vdb/src'
make[1]: Leaving directory `/home/zilek2/ngs/ngs-tools/ngs-vdb/src'
make[1]: Entering directory `/home/zilek2/ngs/ngs-tools/tools/sra-search'
make /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/bin/sra-search
make[2]: Entering directory `/home/zilek2/ngs/ngs-tools/tools/sra-search'
g++ -o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/bin/sra-search.2.8.2 /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/tools/sra-search/searchblock.o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/tools/sra-search/vdb-search.o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/tools/sra-search/main.o -L/home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/ilib -lngs-vdb -L/home/zilek2/ncbi-outdir/ngs-sdk/linux/gcc/x86_64/rel/lib -L/home/zilek2/ncbi-outdir/ncbi-vdb/linux/gcc/x86_64/rel/lib -lncbi-ngs-c++ -lncbi-vdb-static -lngs-c++ -lpthread -ldl
/home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/tools/sra-search/vdb-search.o: In function `VdbSearch::VdbSearch(VdbSearch::Settings const&)':
vdb-search.cpp:(.text+0x16b7): undefined reference to `BlobMatchIterator::BlobMatchIterator(SearchBlock::Factory&, std::string const&)'
vdb-search.cpp:(.text+0x172a): undefined reference to `FragmentMatchIterator::FragmentMatchIterator(SearchBlock::Factory&, std::string const&, ngs::Read::ReadCategory)'
vdb-search.cpp:(.text+0x1807): undefined reference to `ReferenceMatchIterator::ReferenceMatchIterator(SearchBlock::Factory&, std::string const&, std::vector<ReferenceSpec, std::allocator<ReferenceSpec> > const&, bool)'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/bin/sra-search] Error 1
make[2]: Leaving directory `/home/zilek2/ngs/ngs-tools/tools/sra-search'
make[1]: *** [std] Error 2
make[1]: Leaving directory `/home/zilek2/ngs/ngs-tools/tools/sra-search'

It seems that sra-search needs to link to ./tools/sra-search/blobmatchiterator.cpp, which is not presented.

> grep BlobMatchIterator -R .   

./tools/sra-search/blobmatchiterator.cpp:////////////////////////////////// BlobMatchIterator
./tools/sra-search/blobmatchiterator.cpp:BlobMatchIterator :: BlobMatchIterator ( SearchBlock :: Factory& p_factory, const std::string& p_accession )
./tools/sra-search/blobmatchiterator.cpp:BlobMatchIterator :: ~BlobMatchIterator ()
./tools/sra-search/blobmatchiterator.cpp:BlobMatchIterator :: NextBuffer ()
./tools/sra-search/blobmatchiterator.hpp:class BlobMatchIterator : public MatchIterator
./tools/sra-search/blobmatchiterator.hpp:    BlobMatchIterator ( SearchBlock :: Factory& p_factory, const std::string& p_accession );
./tools/sra-search/blobmatchiterator.hpp:    virtual ~BlobMatchIterator ();
./tools/sra-search/vdb-search.cpp:            m_searches . push ( new BlobMatchIterator ( m_sbFactory, *i ) );
aboshkin commented 7 years ago

Please apply the following patch to ngs-tools/tools/sra-search.Makefile:

--- a/tools/sra-search/Makefile +++ b/tools/sra-search/Makefile @@ -58,6 +58,9 @@ SRA_SEARCH_SRC = \ searchblock \ vdb-search \ main \

Apologies for the inconvenience. This will be fixed in the upcoming release.

From: Valerii Lashmanov [mailto:notifications@github.com] Sent: Wednesday, August 30, 2017 2:40 PM To: ncbi/ngs-tools ngs-tools@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [ncbi/ngs-tools] Linking error during sra-search build (#7)

Hi,

I'm getting linking error trying to build ngs-tools.

make

make[1]: Entering directory `/home/zilek2/ngs/ngs-tools/ngs-vdb/src'

make /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/ilib/ngs-vdb

make[2]: Entering directory `/home/zilek2/ngs/ngs-tools/ngs-vdb/src'

ar rc /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/ilib/libngs-vdb.a /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/ngs-vdb/src/FragmentBlob.o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/ngs-vdb/src/FragmentBlobIterator.o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/ngs-vdb/src/NGS-VDB.o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/ngs-vdb/src/VdbReadCollection.o

make[2]: Leaving directory `/home/zilek2/ngs/ngs-tools/ngs-vdb/src'

make[1]: Leaving directory `/home/zilek2/ngs/ngs-tools/ngs-vdb/src'

make[1]: Entering directory `/home/zilek2/ngs/ngs-tools/tools/sra-search'

make /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/bin/sra-search

make[2]: Entering directory `/home/zilek2/ngs/ngs-tools/tools/sra-search'

g++ -o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/bin/sra-search.2.8.2 /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/tools/sra-search/searchblock.o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/tools/sra-search/vdb-search.o /home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/tools/sra-search/main.o -L/home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/ilib -lngs-vdb -L/home/zilek2/ncbi-outdir/ngs-sdk/linux/gcc/x86_64/rel/lib -L/home/zilek2/ncbi-outdir/ncbi-vdb/linux/gcc/x86_64/rel/lib -lncbi-ngs-c++ -lncbi-vdb-static -lngs-c++ -lpthread -ldl

/home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/obj/tools/sra-search/vdb-search.o: In function `VdbSearch::VdbSearch(VdbSearch::Settings const&)':

vdb-search.cpp:(.text+0x16b7): undefined reference to `BlobMatchIterator::BlobMatchIterator(SearchBlock::Factory&, std::string const&)'

vdb-search.cpp:(.text+0x172a): undefined reference to `FragmentMatchIterator::FragmentMatchIterator(SearchBlock::Factory&, std::string const&, ngs::Read::ReadCategory)'

vdb-search.cpp:(.text+0x1807): undefined reference to `ReferenceMatchIterator::ReferenceMatchIterator(SearchBlock::Factory&, std::string const&, std::vector<ReferenceSpec, std::allocator > const&, bool)'

collect2: error: ld returned 1 exit status

make[2]: *** [/home/zilek2/ncbi-outdir/ngs-tools/linux/gcc/x86_64/rel/bin/sra-search] Error 1

make[2]: Leaving directory `/home/zilek2/ngs/ngs-tools/tools/sra-search'

make[1]: *** [std] Error 2

make[1]: Leaving directory `/home/zilek2/ngs/ngs-tools/tools/sra-search'

It seems that sra-search needs to link to ./tools/sra-search/blobmatchiterator.cpp, which is not presented.

grep BlobMatchIterator -R .

./tools/sra-search/blobmatchiterator.cpp:////////////////////////////////// BlobMatchIterator

./tools/sra-search/blobmatchiterator.cpp:BlobMatchIterator :: BlobMatchIterator ( SearchBlock :: Factory& p_factory, const std::string& p_accession )

./tools/sra-search/blobmatchiterator.cpp:BlobMatchIterator :: ~BlobMatchIterator ()

./tools/sra-search/blobmatchiterator.cpp:BlobMatchIterator :: NextBuffer ()

./tools/sra-search/blobmatchiterator.hpp:class BlobMatchIterator : public MatchIterator

./tools/sra-search/blobmatchiterator.hpp: BlobMatchIterator ( SearchBlock :: Factory& p_factory, const std::string& p_accession );

./tools/sra-search/blobmatchiterator.hpp: virtual ~BlobMatchIterator ();

./tools/sra-search/vdb-search.cpp: m_searches . push ( new BlobMatchIterator ( m_sbFactory, *i ) );

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/ncbi/ngs-tools/issues/7, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIkg0c0vGLtjsAXv00x8JcXW30Z_TyuRks5sdayEgaJpZM4PHzpq.