I am not using any of the files that exist in /usr/local/include, this doesn't 
even show on my PATH and my mpicc -show tells that the openmpi path is correct. 
I dont know what to do, I have contacted the technician to hide or delete 
/usr/local/include...Millions of thanks for ur replies and patience. I'll keep 
you updated!

--- On Mon, 9/22/08, Jeff Squyres <jsquy...@cisco.com> wrote:

From: Jeff Squyres <jsquy...@cisco.com>
Subject: Re: [OMPI users] conflict among differenv MPIs
To: "Open MPI Users" <us...@open-mpi.org>
List-Post: users@lists.open-mpi.org
Date: Monday, September 22, 2008, 11:28 AM

On Sep 22, 2008, at 2:12 PM, Shafagh Jafer wrote:

> I am gonna kill myself :( i dont know what the problem is... I 'm  
> gonna explain the details again, please bare me and help me :(
>
> Ok yes I used mpic++. Actually I checked mpicxx -show and the path  
> were correct. let me describe my problem again.
> When I run my code (after making sure that openmpi is installed  
> correctly and all the env varibles are set properly), i get the  
> following error which is when I make a call to the following function:
> ----------------------------------------------
> int CommPhyMPI:: physicalGetSize() const {
> int size ;
> MPI_Comm_size(MPI_COMM_WORLD,&size);
> return size ;
> }
> -------------------------------------------
> The errors i get are the follwoing:
> =====================
> [DeepThought:31144] *** Process received signal ***
> [DeepThought:31144] Signal: Segmentation fault (11)
> [DeepThought:31144] Signal code: Address not mapped (1)
> [DeepThought:31144] Failing at address: 0xcf
> [DeepThought:31144] [ 0] /lib/tls/libpthread.so.0 [0xc16f80]
> [DeepThought:31144] [ 1] /nfs/sjafer/phd/openMPI/latest_cd+ 
> +_timewarp/cd++(physicalGetId__C10CommPhyMPI+0x14) [0x8305880]

This *likely* indicates that you are mixing MPI implementations.

> So I thought that maybe my problem is that when I include
"mpi.h" in  
> my source code, it picks the wrong one. So in my source code instead  
> of just saying include "mpi.h" I put the path too, so it looks
like  
> => "include /opt/openmpi/1.2.7/include/mpi.h", and now when I
run my  
> code aftre this change, aside from errors which I will paste below,  
> i get a warning that shows mpi.h in mpicxx.h is the wrong one from  
> usr/local/include and not from /opt/openmpi/...
> ------------------
> In file included from /usr/local/include/mpidefs.h:49,

What is /usr/local/include/mpidefs.h?  Is that part of your application?

> from /usr/local/include/mpi.h:230,

This definitely indicates that you're including the wrong file.

I don't know what the exact cause of your problem is, but it seems  
like you are somehow mixing multiple mpi.h files together.  This can  
definitely lead to segv's at run time.

As I think I indicated before, I think your best solution is likely to  
uninstall MPICH from /usr/local and install it somewhere else (e.g., / 
opt/mpich).  Then the compiler won't automatically pick up header  
files from MPICH (it shouldn't do that anyway, but there seems to be  
some confusion on your system, so who knows?).

You should probably get your local system administrator involved; they  
can actually see exactly what is happening on your system, diagnose  
the default compiler include paths, etc.  But I'd try moving the MPICH  
install first.

-- 
Jeff Squyres
Cisco Systems

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



Reply via email to