salmon
salmon copied to clipboard
Error building salmon with gcc 15
salmon cannot be built from sources with gcc version 15. from my limited understanding the failure is in external dependency pufferfish
[ 53%] Building CXX object external/pufferfish/src/CMakeFiles/puffer.dir/MemCollector.cpp.o
In file included from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/spdlog_impl.h:12,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/spdlog.h:192,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/Util.hpp:19,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/PufferfishIndex.hpp:12,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/MemCollector.hpp:6,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/src/MemCollector.cpp:1:
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:197:22: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
197 | registry_t<Mutex>() {}
| ^
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:197:22: note: remove the ‘< >’
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:198:22: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
198 | registry_t<Mutex>(const registry_t<Mutex>&) = delete;
| ^
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:198:22: note: remove the ‘< >’
[ 54%] Building CXX object external/pufferfish/src/CMakeFiles/puffer.dir/MemChainer.cpp.o
In file included from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/spdlog_impl.h:12,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/spdlog.h:192,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/Util.hpp:19,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/PufferfishIndex.hpp:12,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/MemChainer.hpp:8,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/src/MemChainer.cpp:2:
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:197:22: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
197 | registry_t<Mutex>() {}
| ^
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:197:22: note: remove the ‘< >’
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:198:22: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
198 | registry_t<Mutex>(const registry_t<Mutex>&) = delete;
| ^
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:198:22: note: remove the ‘< >’
[ 55%] Building CXX object external/pufferfish/src/CMakeFiles/puffer.dir/PuffAligner.cpp.o
In file included from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/spdlog_impl.h:12,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/spdlog.h:192,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/Util.hpp:19,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/include/PuffAligner.hpp:8,
from /build/salmon/src/salmon-1.10.3/external/pufferfish/src/PuffAligner.cpp:2:
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:197:22: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
197 | registry_t<Mutex>() {}
| ^
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:197:22: note: remove the ‘< >’
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:198:22: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
198 | registry_t<Mutex>(const registry_t<Mutex>&) = delete;
| ^
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/spdlog/details/../details/registry.h:198:22: note: remove the ‘< >’
In file included from /build/salmon/src/salmon-1.10.3/external/pufferfish/src/PuffAligner.cpp:4:
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/libdivide/libdivide.h: In member function ‘bool libdivide::divider<T, ALGO>::operator==(const libdivide::divider<T, ALGO>&) const’:
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/libdivide/libdivide.h:2021:41: error: ‘const class libdivide::divider<T, ALGO>’ has no member named ‘denom’ [-Wtemplate-body]
2021 | return div.denom.magic == other.denom.magic &&
| ^~~~~
/build/salmon/src/salmon-1.10.3/external/pufferfish/include/libdivide/libdivide.h:2022:40: error: ‘const class libdivide::divider<T, ALGO>’ has no member named ‘denom’ [-Wtemplate-body]
2022 | div.denom.more == other.denom.more;
| ^~~~~
make[2]: *** [external/pufferfish/src/CMakeFiles/puffer.dir/build.make:373: external/pufferfish/src/CMakeFiles/puffer.dir/PuffAligner.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:589: external/pufferfish/src/CMakeFiles/puffer.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
Complete build log can be found here