DecodeGenetics / Ratatosk

Hybrid error correction of long reads using colored de Bruijn graphs
BSD 2-Clause "Simplified" License
94 stars 7 forks source link

Make fails in MacOS Catalina #4

Closed bstamps closed 4 years ago

bstamps commented 4 years ago

Hello,

I'm having some issues during the compilation of Ratatosk in MacOS Catalina. Running make results in the below error

[ 70%] Building CXX object src/CMakeFiles/Ratatosk.dir/Graph.cpp.o
/Users/blakestamps/bin/Ratatosk/src/Graph.cpp:871:99: error: no viable conversion from 'pair<std::__1::unordered_map<unsigned long long,
      unsigned long long, CustomHashUint64_t, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned
      long long, unsigned long long> > >::iterator, [...]>' to 'const pair<unordered_map<uint64_t, size_t,
      CustomHashUint64_t>::const_iterator, [...]>'
  ...const pair<unordered_map<uint64_t, size_t, CustomHashUint64_t>::const_iterator, bool> p = name_hmap.insert({h_name, nextID});
                                                                                           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:328:5: note: candidate constructor not viable: no known conversion
      from 'pair<std::__1::unordered_map<unsigned long long, unsigned long long, CustomHashUint64_t, std::__1::equal_to<unsigned long
      long>, std::__1::allocator<std::__1::pair<const unsigned long long, unsigned long long> > >::iterator, bool>' (aka
      'pair<__hash_map_iterator<__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, unsigned long
      long>, void *> *> >, bool>') to 'const
      std::__1::pair<std::__1::__hash_map_const_iterator<std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned
      long long, unsigned long>, void *> *> >, bool> &' for 1st argument
    pair(pair const&) = default;
    ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:329:5: note: candidate constructor not viable: no known conversion
      from 'pair<std::__1::unordered_map<unsigned long long, unsigned long long, CustomHashUint64_t, std::__1::equal_to<unsigned long
      long>, std::__1::allocator<std::__1::pair<const unsigned long long, unsigned long long> > >::iterator, bool>' (aka
      'pair<__hash_map_iterator<__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, unsigned long
      long>, void *> *> >, bool>') to
      'std::__1::pair<std::__1::__hash_map_const_iterator<std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned
      long long, unsigned long>, void *> *> >, bool> &&' for 1st argument
    pair(pair&&) = default;
    ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:353:41: note: candidate template ignored: disabled by 'enable_if'
      [with _U1 = std::__1::__hash_map_iterator<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long
      long, unsigned long long>, void *> *> >, _U2 = bool]
    using _EnableB = typename enable_if<_Val, bool>::type;
                                        ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:353:41: note: candidate template ignored: disabled by 'enable_if'
      [with _U1 = std::__1::__hash_map_iterator<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long
      long, unsigned long long>, void *> *> >, _U2 = bool]
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:353:41: note: candidate template ignored: disabled by 'enable_if'
      [with _Tuple =
      std::__1::pair<std::__1::__hash_map_iterator<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned
      long long, unsigned long long>, void *> *> >, bool>]
1 error generated.
make[2]: *** [src/CMakeFiles/Ratatosk.dir/Graph.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/Ratatosk.dir/all] Error 2
make: *** [all] Error 2

All the requirements should be/are installed, so any help is appreciated!

GuillaumeHolley commented 4 years ago

Hi @bstamps

Thank you for reporting this issue. I think I found the problem and just pushed a fix for it. Unfortunately, I do not have a Macbook at hand to test if it solves the issue. Let me know if it works for you.

Guillaume

bstamps commented 4 years ago

Hey @GuillaumeHolley

I can confirm that your fix works. Ratatosk now builds and installs correctly under Catalina.

Thank you!