From 07e2baabc248d31a977126a52a18d1f2e1d3e3a5 Mon Sep 17 00:00:00 2001 From: Anton Vorontsov Date: Wed, 4 Mar 2026 16:30:02 -0800 Subject: [PATCH] Fix compilation with HAVE_MPI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ``` [ 35%] Building CXX object src/CMakeFiles/mmseqs-framework.dir/util/results2msa.cpp.o /home/avorontsov/s/rna/MMseqs2/src/util/results2msa.cpp: In function ‘int results2msa(int, const char**, const Command&)’: /home/avorontsov/s/rna/MMseqs2/src/util/results2msa.cpp:146:22: error: request for member ‘decomposeDomainByAminoAcid’ in ‘resultReaders.std::vector*>::operator[](0)’, which is of pointer type ‘__gnu_cxx::__alloc_traits*>, DBReader*>::value_type’ {aka ‘DBReader*’} (maybe you meant to use ‘->’ ?) 146 | resultReaders[0].decomposeDomainByAminoAcid(MMseqsMPI::rank, MMseqsMPI::numProc, &dbFrom, &dbSize); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [src/CMakeFiles/mmseqs-framework.dir/build.make:1927: src/CMakeFiles/mmseqs-framework.dir/util/results2msa.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:1083: src/CMakeFiles/mmseqs-framework.dir/all] Error 2 make: *** [Makefile:136: all] Error 2 ``` ``` [ 36%] Building CXX object src/CMakeFiles/mmseqs-framework.dir/util/results2profile.cpp.o /home/avorontsov/s/rna/MMseqs2/src/util/results2profile.cpp: In function ‘int results2profile(int, const char**, const Command&, bool)’: /home/avorontsov/s/rna/MMseqs2/src/util/results2profile.cpp:75:19: error: request for member ‘decomposeDomainByAminoAcid’ in ‘resultDbrs.std::vector*>::operator[](0)’, which is of pointer ty pe ‘__gnu_cxx::__alloc_traits*>, DBReader*>::value_type’ {aka ‘DBReader*’} (maybe you meant to use ‘->’ ?) 75 | resultDbrs[0].decomposeDomainByAminoAcid(MMseqsMPI::rank, MMseqsMPI::numProc, &dbFrom, &dbSize); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [src/CMakeFiles/mmseqs-framework.dir/build.make:1969: src/CMakeFiles/mmseqs-framework.dir/util/results2profile.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:1083: src/CMakeFiles/mmseqs-framework.dir/all] Error 2 make: *** [Makefile:136: all] Error 2 ``` --- src/util/results2msa.cpp | 2 +- src/util/results2profile.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/results2msa.cpp b/src/util/results2msa.cpp index 0e72dfb17..ebf9f1e2f 100644 --- a/src/util/results2msa.cpp +++ b/src/util/results2msa.cpp @@ -143,7 +143,7 @@ int results2msa(int argc, const char **argv, const Command &command) { size_t dbFrom = 0; size_t dbSize = 0; #ifdef HAVE_MPI - resultReaders[0].decomposeDomainByAminoAcid(MMseqsMPI::rank, MMseqsMPI::numProc, &dbFrom, &dbSize); + resultReaders[0]->decomposeDomainByAminoAcid(MMseqsMPI::rank, MMseqsMPI::numProc, &dbFrom, &dbSize); Debug(Debug::INFO) << "Compute split from " << dbFrom << " to " << dbFrom + dbSize << "\n"; std::pair tmpOutput = Util::createTmpFileNames(outDb, outIndex, MMseqsMPI::rank); #else diff --git a/src/util/results2profile.cpp b/src/util/results2profile.cpp index 5508526d4..be4787cf7 100644 --- a/src/util/results2profile.cpp +++ b/src/util/results2profile.cpp @@ -72,7 +72,7 @@ int results2profile(int argc, const char **argv, const Command &command, bool re size_t dbFrom = 0; size_t dbSize = 0; #ifdef HAVE_MPI - resultDbrs[0].decomposeDomainByAminoAcid(MMseqsMPI::rank, MMseqsMPI::numProc, &dbFrom, &dbSize); + resultDbrs[0]->decomposeDomainByAminoAcid(MMseqsMPI::rank, MMseqsMPI::numProc, &dbFrom, &dbSize); Debug(Debug::INFO) << "Compute split from " << dbFrom << " to " << dbFrom + dbSize << "\n"; std::pair tmpOutput = Util::createTmpFileNames(par.filenames[par.filenames.size() - 1], par.filenames[par.filenames.size() - 1] + ".index", MMseqsMPI::rank); #else