bayesiancook / pbmpi

phylobayes mpi
GNU General Public License v2.0
23 stars 9 forks source link

pb_mpi not working #2

Closed Will338 closed 6 years ago

Will338 commented 7 years ago

I'm getting the following errors when trying to run pb_mpi using this command: mpirun -np 6 pb_mpi ~/Path/to/data Chain1 Please can anyone give me some guidance in how to get it working?

pb_mpi:

error while loading shared libraries: libmpi_cxx.so.0: cannot open shared object file: No such file or directory pb_mpi: error while loading shared libraries: libmpi_cxx.so.0: cannot open shared object file: No such file or directory pb_mpi: error while loading shared libraries: libmpi_cxx.so.0: cannot open shared object file: No such file or directory pb_mpi: error while loading shared libraries: libmpi_cxx.so.0: cannot open shared object file: No such file or directory pb_mpi: error while loading shared libraries: libmpi_cxx.so.0: cannot open shared object file: No such file or directory pb_mpi: error while loading shared libraries: libmpi_cxx.so.0: cannot open shared object file: No such file or directory

mpirun noticed that the job aborted, but has no info as to the process that caused that situation.

josephwb commented 7 years ago

@Will338 I got the same error with the distributed binary. However, as the manual says:

you may need to recompile the code

I did this and things work well. (Compiling only takes a, er, compiler, and the command make in the sources directory (binaries are put into the data directory).

HTH :bowtie:

reneum commented 6 years ago

We have the same issue here: pb_mpi: error while loading shared libraries: libmpi_cxx.so.0:

But we are also unable to re-compile a functional binary:

...
In file included from AACodonMutSelProfileProcess.h:20:0,
                 from AACodonMutSelSBDPProfileProcess.h:21,
                 from AACodonMutSelSBDPSubstitutionProcess.h:20,
                 from AACodonMutSelSBDPPhyloProcess.h:20,
                 from Model.h:23,
                 from PB.cpp:17:
CodonSubMatrix.h:70:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘const double AAMutSelProfileSubMatrix::TOOSMALL’ of non-integral type [-fpermissive]
  static const double TOOSMALL = 1e-30;
                                 ^~~~~
CodonSubMatrix.h:71:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘const double AAMutSelProfileSubMatrix::TOOLARGE’ of non-integral type [-fpermissive]
  static const double TOOLARGE = 500;
                                 ^~~
CodonSubMatrix.h:72:42: error: ‘constexpr’ needed for in-class initialization of static data member ‘const double AAMutSelProfileSubMatrix::TOOLARGENEGATIVE’ of non-integral type [-fpermissive]
  static const double TOOLARGENEGATIVE = -500;
                                          ^~~
CodonSubMatrix.h:99:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘const double AACodonMutSelProfileSubMatrix::TOOSMALL’ of non-integral type [-fpermissive]
  static const double TOOSMALL = 1e-30;
                                 ^~~~~
CodonSubMatrix.h:100:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘const double AACodonMutSelProfileSubMatrix::TOOLARGE’ of non-integral type [-fpermissive]
  static const double TOOLARGE = 500;
                                 ^~~
CodonSubMatrix.h:101:42: error: ‘constexpr’ needed for in-class initialization of static data member ‘const double AACodonMutSelProfileSubMatrix::TOOLARGENEGATIVE’ of non-integral type [-fpermissive]
  static const double TOOLARGENEGATIVE = -50;
                                          ^~
CodonSubMatrix.h:122:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘const double CodonMutSelProfileSubMatrix::TOOSMALL’ of non-integral type [-fpermissive]
  static const double TOOSMALL = 1e-30;
                                 ^~~~~
CodonSubMatrix.h:123:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘const double CodonMutSelProfileSubMatrix::TOOLARGE’ of non-integral type [-fpermissive]
  static const double TOOLARGE = 500;
                                 ^~~
CodonSubMatrix.h:124:42: error: ‘constexpr’ needed for in-class initialization of static data member ‘const double CodonMutSelProfileSubMatrix::TOOLARGENEGATIVE’ of non-integral type [-fpermissive]
  static const double TOOLARGENEGATIVE = -50;
                                          ^~
make: *** [Makefile:55: PB.o] Error 1
make: *** Waiting for unfinished jobs....

Our versions:

reneum@mphn ~/builder/pbmpi/sources $ mpic++ -showme:version
mpic++: Open MPI 2.0.2 (Language: C++)

reneum@mphn ~/builder/pbmpi/sources $ mpic++ -showme
x86_64-pc-linux-gnu-g++ -pthread -Wl,-rpath -Wl,/usr/lib64 -Wl,--enable-new-dtags -L/usr/lib64 -lmpi_cxx -lmpi

gcc-6.4

Any advise?

bayesiancook commented 6 years ago

should recompile now, with the new version

Also, I have removed the binary files: you need to recompile on most machines anyway.