[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: C++ help needed for pbdagcon




On Jan 22, 2020, at 11:56, Andreas Tille <andreas@an3as.eu> wrote:

Control: tags -1 help

I have fixed Python2->Python3 migration as well as the FTBFS with
pbseqlib 5.3.3+dfsg-1 issue in Git[1].  Unfortunately there is another
build issue in the C++ code which I have no idea how to fix:


...
g++ -g -O2 -fdebug-prefix-map=/build/pbdagcon-0.3+git20180411.c14c422+ds=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -std=c++14 -Wall -Wuninitialized -pedantic -Wdate-    time -D_FORTIFY_SOURCE=2 -MMD -MP -I/build/pbdagcon-0.3+git20180411.c14c422+ds/DAZZ_DB -I/build/pbdagcon-0.3+git20180411.c14c422+ds/DALIGNER -I/usr/include/pbseq/alignment -I/usr/include/    pbseq/pbdata -I/usr/include/pbseq/hdf -I/usr/include/pbseq -isystem.//third-party   -c -o DazAlnProvider.o DazAlnProvider.cpp
In file included from DazAlnProvider.cpp:10:
DazAlnProvider.hpp:97:19: error: expected ')' before '&' token
  97 |     Target(DAZZ_DB& db, int tspace, int small);
     |           ~       ^
     |                   )
DazAlnProvider.hpp:122:5: error: 'DAZZ_DB' does not name a type
 122 |     DAZZ_DB db_;
     |     ^~~~~~~
DazAlnProvider.hpp:161:5: error: 'DAZZ_DB' does not name a type
 161 |     DAZZ_DB db_;
     |     ^~~~~~~
DazAlnProvider.cpp: In constructor 'DazAlnProvider::DazAlnProvider(const ProgramOpts&)':
DazAlnProvider.cpp:34:33: error: 'db_' was not declared in this scope
  34 |     int status = Open_DB(path, &db_);
     |                                 ^~~
DazAlnProvider.cpp: In destructor 'virtual DazAlnProvider::~DazAlnProvider()':
DazAlnProvider.cpp:74:15: error: 'db_' was not declared in this scope
  74 |     Close_DB(&db_);
     |               ^~~
DazAlnProvider.cpp: In member function 'virtual bool DazAlnProvider::nextTarget(std::string&, std::vector<dagcon::Alignment>&)':
DazAlnProvider.cpp:125:25: error: 'db_' was not declared in this scope
 125 |     seq = Load_Subread(&db_, trg_->id, 0, trg_->length, targSeqBuf_, 0);
     |                         ^~~
DazAlnProvider.cpp: At global scope:
DazAlnProvider.cpp:225:15: error: expected constructor, destructor, or type conversion before '(' token
 225 | Target::Target(DAZZ_DB& db, int tspace, int small) :
     |               ^
DazAlnProvider.cpp: In member function 'void Target::firstRecord(Record&, bool)':
DazAlnProvider.cpp:246:14: error: 'db_' was not declared in this scope
 246 |     length = db_.reads[id].rlen;
     |              ^~~

Just taking some educated guesses here, but the way this variable is used indicates to me that the code expects it to be a HITS_DB, declared in DAZZ_DB/DB.h. The DAZZ_DB subdirectory looks like a copy of upstream project https://github.com/thegenemyers/DAZZ_DB. The latest revision of this calls this type DAZZ_DB, not HITS_DB. So maybe the solution is to pull in the latest revision of this?

Reply to: