I have both openmpi and MPICH on my cluster, the problem is that mpi.h of MPICH is in /usr/local/include and I dont have permission to rename or remove it from there. In my source code I am including the mpi.h of openmpi and this works fine, but then mpi.h itself includes mpicxx.h which it again includes openmpi's mpi.h and this is my problem becase the system goes and takes the mpi.h file of MPICH which is in /usr/local/include and thus i get errors segfaults! I am using mpicc wrapper to compile my code and i think my problem is due to having other mpi.h files. Am I right?? What should I do to make /usr/local/include in-accesible from my code??? Please help me!