FischerJo / FAME

GNU General Public License v3.0
14 stars 4 forks source link

Errors compiling #8

Open abogutz opened 4 years ago

abogutz commented 4 years ago

When attempting to make after cloning git files, we get the following errors:

ReadQueue.cpp: In member function ‘uint16_t ReadQueue::getSeedRefsFirstRead(const string&, const size_t&, uint16_t)’: ReadQueue.cpp:2736:28: error: converting to ‘std::tuple<unsigned char, unsigned char, bool, bool>’ from initializer list would use explicit constructor ‘constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {const unsigned char&, int, bool, bool}; = void; _Elements = {unsigned char, unsigned char, bool, bool}]’ newFwdMetas[hIt->first] = {std::get<0>(hIt->second), 0, false, false}; ^ ReadQueue.cpp:2748:28: error: converting to ‘std::tuple<unsigned char, unsigned char, bool, bool>’ from initializer list would use explicit constructor ‘constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {const unsigned char&, int, bool, bool}; = void; _Elements = {unsigned char, unsigned char, bool, bool}]’ newRevMetas[hIt->first] = {std::get<0>(hIt->second), 0, false, false}; ^

We've tried using multiple versions of gcc (5, 6, 9) and we get these errors consistently. Any ideas on a fix?

We're excited to try this out, saw the poster at CEEHRC!

FischerJo commented 4 years ago

Please try the newest commit, it should be fixed now.

Technical reason: I think these troubles were caused by a change of tuple constructors in newer compilers to be explicit. Hence, initializer lists were not supported anymore in the way I used them. Replacing them with an explicit construction of a tuple through make_tuple should fix this.