Two things:

- You might want to run "mpicc --showme" to get the list of compiler/ linker flags to put into KDevelop. Better yet, if you can get KDevelop to use mpicc (etc.) instead of gcc, that would avoid you needing to explicitly list anything in terms of libraries, header locations, etc.

- Check that your system didn't come with Open MPI already installed. If so, you may accidentally be mixing and matching two different versions (e.g., the 1.2.5 that you installed and the version that came pre-installed). We do not [yet] guarantee binary compatibility between different versions of Open MPI, so if you're mixing them, Bad Things can happen.



On Mar 13, 2008, at 11:33 AM, Rolly Ng wrote:

Hello all,

I am new to open-MPI programming and I have a strange error while running my simple code:

My platform is a IBM T42 notebook with just a single-core processor, and I just installed OpenSuSE 10.3 with KDevelop as my IDE. I have downloaded the openmpi-1.2.5.tar.gz and install using the commands,

shell$ gunzip -c openmpi-1.2.5.tar.gz | tar xf - shell$ cd openmpi-1.2.5 shell$ ./configure --prefix=/usr/local <...lots of output...> shell$ make all install

Then I add -lmpi, -lmpi_cxx, -lopen-pal, -lopen-rte, -lmca_common_sm options to the link libraries outside project (LDADD) in the Automake Manager inside Kdevelop. I have also added the PATH /usr/ local/bin and LD_LIBRARY_PATH /usr/local/lib in the Enviroment variables in the Run options of Project Options. I can compile my code with no error.

Here are my codes,
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream>
#include <math.h>
#include <mpi.h>
//#include <iostream>
//#include <cstdlib>

using namespace std;

int main(int argc, char ** argv)
{
  int mynode, totalnodes;

  MPI_Init(&argc,&argv);
  MPI_Comm_size(MPI_COMM_WORLD, &totalnodes);
  MPI_Comm_rank(MPI_COMM_WORLD, &mynode);

cout << "Hello world from processor " << mynode << " of " << totalnodes << endl;

  MPI_Finalize();
}

I am expecting the output as: Hello world from processor 0 of 1. But it does not work and MPI failed to initialize. The output is strange:

[rollyopensuse:24924] [0,0,0] ORTE_ERROR_LOG: Error in file runtime/ orte_init_stage1.c at line 312
--------------------------------------------------------------------------
It looks like orte_init failed for some reason; your parallel process is likely to abort. There are many reasons that a parallel process can fail during orte_init; some of which are due to configuration or environment problems. This failure appears to be an internal failure; here's some additional information (which may only be relevant to an Open MPI developer):

  orte_pls_base_select failed
  --> Returned value -1 instead of ORTE_SUCCESS

--------------------------------------------------------------------------
--------------------------------------------------------------------------
It looks like MPI_INIT failed for some reason; your parallel process is likely to abort. There are many reasons that a parallel process can fail during MPI_INIT; some of which are due to configuration or environment problems. This failure appears to be an internal failure; here's some additional information (which may only be relevant to an Open MPI
developer):

  ompi_mpi_init: orte_init_stage1 failed
  --> Returned "Error" (-1) instead of "Success" (0)
--------------------------------------------------------------------------
*** An error occurred in MPI_Init
*** before MPI was initialized
*** MPI_ERRORS_ARE_FATAL (goodbye)
[rollyopensuse:24924] Abort before MPI_INIT completed successfully; not able to guarantee that all other processes were killed!
Press Enter to continue!

Did I must some important parameters while configuring the openMPI setup? How can I correct the error? Thank you very much!

Regards,
Rolly

_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users


--
Jeff Squyres
Cisco Systems

Reply via email to