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

Reply via email to