salmon icon indicating copy to clipboard operation
salmon copied to clipboard

Error building salmon with gcc 15

Open kbipinkumar opened this issue 5 months ago • 0 comments

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

kbipinkumar avatar Jul 20 '25 06:07 kbipinkumar