lbcb-sci / racon

Ultrafast consensus module for raw de novo genome assembly of long uncorrected reads
MIT License
201 stars 34 forks source link

install error - logger cannot be defaulted #7

Closed eorylel closed 5 years ago

eorylel commented 5 years ago

Hi Robert, I have tried to install racon (gcc v.8.3.0 and cmake v.3.15.3), but make failed with the below error message. Any suggestion on how to overcome this? Thanks, Lel

In file included from /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp:9: /nfs_netapp2/leory2/src/racon/vendor/logger/include/logger/logger.hpp:24: error: ‘logger::Logger::Logger(logger::Logger&&)’ cannot be defaulted /nfs_netapp2/leory2/src/racon/vendor/logger/include/logger/logger.hpp:25: error: ‘logger::Logger& logger::Logger::operator=(logger::Logger&&)’ cannot be defaulted /nfs_netapp2/leory2/src/racon/vendor/logger/include/logger/logger.hpp:53: error: ‘steady_clock’ is not a member of ‘std::chrono’ /nfs_netapp2/leory2/src/racon/vendor/logger/include/logger/logger.hpp:53: error: ‘steady_clock’ is not a member of ‘std::chrono’ /nfs_netapp2/leory2/src/racon/vendor/logger/include/logger/logger.hpp:53: error: template argument 1 is invalid /nfs_netapp2/leory2/src/racon/vendor/logger/include/logger/logger.hpp:53: error: template argument 2 is invalid /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp: In member function ‘void logger::Logger::log()’: /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp:21: error: ‘std::chrono::steady_clock’ has not been declared /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp:21: error: unable to deduce ‘auto’ from ‘’ /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp:22: error: ‘steady_clock’ is not a member of ‘std::chrono’ /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp:22: error: ‘steady_clock’ is not a member of ‘std::chrono’ /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp:22: error: template argument 1 is invalid /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp:22: error: template argument 2 is invalid /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp: In member function ‘void logger::Logger::log(const std::string&) const’: /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp:30: error: ‘std::chrono::steady_clock’ has not been declared /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp: In member function ‘void logger::Logger::bar(const std::string&)’: /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp:39: error: ‘std::chrono::steady_clock’ has not been declared /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp: In member function ‘void logger::Logger::total(const std::string&) const’: /nfs_netapp2/leory2/src/racon/vendor/logger/src/logger.cpp:52: error: ‘std::chrono::steady_clock’ has not been declared make[2]: [vendor/logger/CMakeFiles/logger.dir/src/logger.cpp.o] Error 1 make[1]: [vendor/logger/CMakeFiles/logger.dir/all] Error 2 make: *** [all] Error 2

rvaser commented 5 years ago

Hello Lel, can you please run make VERBOSE=1 and paste the output here?

Best regards, Robert

eorylel commented 5 years ago

Here it goes, thanks, Lel make.error.log.txt

rvaser commented 5 years ago

Thanks! Please run /usr/bin/c++ --version and paste the output here.

eorylel commented 5 years ago

The system c++ version is the following:

/usr/bin/c++ --version

c++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) Copyright (C) 2010 Free Software Foundation, Inc.

but I have been using gcc 8.3.0 for the racon install (and cmake was complied with this as well)

which c++ /opt/apps/gcc/8.3.0/bin/c++

c++ --version c++ (GCC) 8.3.0 Copyright (C) 2018 Free Software Foundation, Inc.

Lel

rvaser commented 5 years ago

The make log states that /usr/bin/c++ is used which does not have complete c++11 support and hence you are getting the initial compilation error. Please clear the build directory and try:

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=/opt/apps/gcc/8.3.0/bin/c++ ..
make
eorylel commented 5 years ago

I have tried what you suggested. Now I got a lot of: "undefined reference to `std::__NAME..." errors (log is attached). I assume I would need to go back to a gcc version < make.log.txt 5

rvaser commented 5 years ago

Try adding -DCMAKE_C_COMPILER=/opt/apps/gcc/8.3.0/bin/gcc to the cmake command.

eorylel commented 5 years ago

After specifying the options for cmake as you suggested the installed worked. Thank you, Lel