soedinglab / hh-suite

Remote protein homology detection suite.
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-3019-7
GNU General Public License v3.0
529 stars 133 forks source link

Compilation error from source #274

Closed ajrferrari closed 3 years ago

ajrferrari commented 3 years ago

Hi there,

I am following the instructions to install hh-suite in my local cluster from source as described in the main page.

These are the libraries I am currently loading before installation

1) cmake/cmake-3.10 2) compiler/gcc-4.8 3) openmpi/openmpi-1.8.3

And here is the compilation log when the error occurs:

[ 53%] Building CXX object src/CMakeFiles/HH_OBJECTS.dir/hhhitlist.cpp.o /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp: In member function ‘void HitList::PrintHitList(HMM*, std::stringstream&, unsigned int, int, int, float, double, int, const char)’: /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:51:3: error: ‘unique_ptr’ is not a member of ‘std’ std::unique_ptr<char[]> line_ptr(new char[LINELEN]); ^ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:51:19: error: expected primary-expression before ‘char’ std::unique_ptr<char[]> line_ptr(new char[LINELEN]); ^ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:51:19: error: expected ‘;’ before ‘char’ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:52:16: error: ‘line_ptr’ was not declared in this scope char line = line_ptr.get(); ^ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp: In member function ‘void HitList::PrintM8File(HMM, std::stringstream&, int, float, int, double)’: /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:288:5: error: ‘unique_ptr’ is not a member of ‘std’ std::unique_ptr<char[]> line_ptr(new char[LINELEN]); ^ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:288:21: error: expected primary-expression before ‘char’ std::unique_ptr<char[]> line_ptr(new char[LINELEN]); ^ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:288:21: error: expected ‘;’ before ‘char’ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:289:18: error: ‘line_ptr’ was not declared in this scope char line = line_ptr.get(); ^ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp: In member function ‘void HitList::PrintScoreFile(HMM, std::stringstream&)’: /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:345:3: error: ‘unique_ptr’ is not a member of ‘std’ std::unique_ptr<char[]> line_ptr(new char[LINELEN]); ^ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:345:19: error: expected primary-expression before ‘char’ std::unique_ptr<char[]> line_ptr(new char[LINELEN]); ^ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:345:19: error: expected ‘;’ before ‘char’ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:346:16: error: ‘line_ptr’ was not declared in this scope char line = line_ptr.get(); ^ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp: In member function ‘void HitList::WriteToAlifile(HMM, std::stringstream&, int, int, int, int, float, double)’: /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:402:3: error: ‘unique_ptr’ is not a member of ‘std’ std::unique_ptr<char[]> line_ptr(new char[LINELEN]); ^ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:402:19: error: expected primary-expression before ‘char’ std::unique_ptr<char[]> line_ptr(new char[LINELEN]); ^ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:402:19: error: expected ‘;’ before ‘char’ /scratch/allan/softwares/hh-suite/src/hhhitlist.cpp:403:16: error: ‘line_ptr’ was not declared in this scope char line = line_ptr.get(); ^ src/CMakeFiles/HH_OBJECTS.dir/build.make:206: recipe for target 'src/CMakeFiles/HH_OBJECTS.dir/hhhitlist.cpp.o' failed make[2]: [src/CMakeFiles/HH_OBJECTS.dir/hhhitlist.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... CMakeFiles/Makefile2:950: recipe for target 'src/CMakeFiles/HH_OBJECTS.dir/all' failed make[1]: [src/CMakeFiles/HH_OBJECTS.dir/all] Error 2 Makefile:151: recipe for target 'all' failed make: *** [all] Error 2

Any help?

milot-mirdita commented 3 years ago

Whoops, I fixed the issue. Please pull the latest change. Also consider using a newer GCC version. 4.8 is really ancient.

ajrferrari commented 3 years ago

Thanks! I was able to compile successfully. I also changed the gcc version to 10..2.0.