Hi,
Thanks for making and maintaining Mothur.
I’m updating Mothur on our server and got an error compiling clustersplitcommand.cpp when MPI is turned on.
The cause is obvious - the #ifdef on line 452 of that file introduces an unmatched curly bracket if USE_MPI is defined. I’m not sure if the intention is that the code bracketed by if(!runCluster) should be run on MPI or not. I’m guessing it should, so I just removed the three offending lines to get a clean compilation and hoped for the best. Not tested it yet as I don’t have suitable test data to hand.
Cheers,
TIM
my patch:
tbooth@balisaur[mothur-1.29.0+repack]cat debian/patches/fix_mpi_compilation
This file doesn't compile with MPI, and the reason is obvious.
It's not obvious that this is the right fix, though. Will
post the issue to the forum.
--- a/clustersplitcommand.cpp
+++ b/clustersplitcommand.cpp
@@ -449,9 +449,6 @@
estart = time(NULL);
if (!runCluster) {
-#ifdef USE_MPI
- }
-#endif
m->mothurOutEndLine();
m->mothurOut("Output File Names: "); m->mothurOutEndLine();
for (int i = 0; i < distName.size(); i++) { m->mothurOut(distName[i].begin()->first); m->mothurOutEndLine(); m->mothurOut(distName[i].begin()->second); m->mothurOutEndLine(); }