DaehwanKimLab / centrifuge

Classifier for metagenomic sequences
GNU General Public License v3.0
235 stars 73 forks source link

Centrifuge 1.0.4-beta fails to compile with GCC 9.3.0 #191

Closed boegel closed 3 years ago

boegel commented 4 years ago

I'm hitting this compilation errors when using GCC 9.3.0 when building with USE_SRA=1:

g++  -O2 -ftree-vectorize -march=native -fno-math-errno -std=c++11 ...
centrifuge.cpp: In function void driver(const char*, const string&, const string&):
centrifuge.cpp:3009:10: error: no match for operator+= (operand types are int and EList<std::__cxx11::basic_string<char> >)
 3009 |  fileCnt += sra_accs ;
      |  ~~~~~~~~^~~~~~~~~~~

So, it's tripping over https://github.com/DaehwanKimLab/centrifuge/blob/f12224da2acf9d5a5cf50aef31b84ca267a87d77/centrifuge.cpp#L3008-L3010.

I'm not sure how to fix this, since fileCnt is an integer, while sra_accs has type EList<string>... What is this line supposed to do?!

mourisl commented 4 years ago

Thank you for pointing this out. I've updated the github repo and this error should be fixed.