medvedevgroup / TwoPaCo

A fast constructor of the compressed de Bruijn graph from many genomes
Other
39 stars 10 forks source link

Fails to build with TBB 2021.5.0 #28

Closed merkys closed 1 year ago

merkys commented 2 years ago

I am building TwoPaCo 0.9.4 with TBB 2021.5.0 on Debian experimental. The build fails with the following:

In file included from /home/merkys/twopaco/src/graphdump/graphdump.cpp:17:
/home/merkys/twopaco/src/graphdump/../common/streamfastaparser.h:8:10: fatal error: tbb/mutex.h: No such file or directory
    8 | #include <tbb/mutex.h>
      |          ^~~~~~~~~~~~~

Does this mean that TwoPaCo does not support TBB 2021.5.0? If so, are there plans to support it?

rob-p commented 2 years ago

There were breaking changes between the pre 2021 TBB versions and post TBB 2021 versions. We have made the changes to support post 2021 versions in the version of TwoPaCo we use in pufferfish, but don't have the cycles to upstream these right now (though we would be happy to have that done).

merkys commented 2 years ago

I see, thanks for the explanation.

tillea commented 2 years ago

Just for the sake of interest: In Debian we try to create separate packages from separate projects. While our final target is salmon which in turn uses pufferfish which is using twopaco we started with twopaco to use this in a pufferfish Debian package. It seems the twopaco code in pufferfish is not the same as upstream twopaco and our way to tackle a pufferfish package is not the best idea in this case, right? Kind regards, Andreas.

rob-p commented 2 years ago

Hi @tillea — this is correct. The vendored version of TwoPaCo in pufferfish has updates that have not been ported upstream that, among other things, allow it to use the newer versions of OneTBB. The other major change is just turning TwoPaCo into an easier-to-use CMake module. If those changes got pushed upstream, we'd be happy to rely on an upstream TwoPaCo, but we don't currently have the cycles for that right now.