Hi Jeff, Thanks for your advice, I have solved my error and I should have read the FAQ. The two commands are reallt helpful:) mpiCC --showme:compile mpiCC --showme:link
But configuring KDevelop for the shown compile+link option are a bit confusing for newbies like me :) Well, after trial-n-error I think I got the answer, and I hope it would be helpful for those KDevelop+OpenMPI newcomers (KDevelop 3.4.1): (1)Project->Project Option->Configure Option->General->Linker flags, copy&paste the output of the --showme:link (2)Environment variables, add LD_LIBRARY_PATH [/usr/local/lib] and PATH [/usr/local/bin], where [/xx/xx/xx] is your openMPI install directory (3)Project->Project Option->Configure Option->C++->Compiler flags, copy&paste the output of the --showme:compiler (4)Automake manager->Target options->Libraries->link libraries outside project, add all the .a or .so installed in your openMPI directory Now I can compile and run without problem! :) But I still have a question unsolved by press the shift+F9 ("Gear icon"), Konsole run its default -e /bin/sh -c and I cannnot run with "mpirun -np 4" on a multicore Xeon PC? I have check the Project->Project Option->Run Option but seems I can only pass argument but not customized execute command?! How can I tell Konsole to run "mpirun -np 4" when I press the "Gear icon"? Thanks! Rolly -----Original Message----- From: Jeff Squyres [mailto:jsquy...@cisco.com] Sent: 2008年3月15日 7:45 To: 50008...@student.cityu.edu.hk; Open MPI Users Subject: Re: [OMPI users] Please help "orte_init failed error" running simple MPI code 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