Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Problems with compilig of OpenMPI 1.2.7
From: Rolf Vandevaart (Rolf.Vandevaart_at_[hidden])
Date: 2008-08-29 13:48:52


Hi Paul:

I can comment on why you are seeing the mpicxx problem, but I am not
sure what to do about it.

In the file mpicxx.cc there is a declaration near the bottom that looks
like this.

const int LOCK_SHARED = MPI_LOCK_SHARED;

The preprocessor is going through that file and replacing LOCK_SHARED
with 0x01. Then when it tries to compile it you are trying to compile a
line that looks like this.

const int 0x01 = 2;

That is why you see the error.

In our case I noticed that newer versions of Solaris have an include
file called /usr/include/sys/synch.h with a define for LOCK_SHARED.

Here it is from the file.

#define LOCK_SHARED 0x01 /* same as USYNC_PROCESS */

So, what to do about it? I am not sure yet. I will check around a little.

Rolf

On 08/29/08 12:03, Paul Kapinos wrote:
> Hi all,
>
> I just tried to install the 1.2.7 version of OpenMPI alongside to our
> used 1.2.5 and 1.2.6.
>
> Because we use gcc, intel, studio and pgi compilers on three OSes
> (Linux, Solaris/Sparc/ Solaris/Opteron), we have at least 15 Versions to
> compile (not all compilers are available everywere). Some versions are
> configured and compiled well (so, I don't check them yet, but they
> compiled and installed...)
>
> But 8 of versions beraks the compilation with some crude error messages.
> Mostly there were logs like
>
> "/usr/include/infiniband/kern-abi.h", line 144: zero-sized struct/union
> "btl_openib_component.c", line 293: warning: syntax error: empty
> declaration
>
>
> Six of 8 broken versions stopped the compilation on the file
> ./ompi/mpi/cxx/mpicxx.cc
>
> +++++++++++++++++++++++++
> ......
> Making all in cxx
> gmake[3]: Entering directory
> `/rwthfs/rz/cluster/home/pk224850/OpenMPI/openmpi-1.2.7_SolX86_studio/ompi/mpi/cxx'
>
> source='mpicxx.cc' object='mpicxx.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/bash ../../../config/depcomp \
> /bin/bash ../../../libtool --tag=CXX --mode=compile CC
> -DHAVE_CONFIG_H -I. -I../../../opal/include -I../../../orte/include
> -I../../../ompi/include -DOMPI_BUILDING_CXX_BINDINGS_LIBRARY=1
> -DOMPI_SKIP_MPICXX=1 -I../../.. -DNDEBUG -O2 -m64 -mt -c -o mpicxx.lo
> mpicxx.cc
> libtool: compile: CC -DHAVE_CONFIG_H -I. -I../../../opal/include
> -I../../../orte/include -I../../../ompi/include
> -DOMPI_BUILDING_CXX_BINDINGS_LIBRARY=1 -DOMPI_SKIP_MPICXX=1 -I../../..
> -DNDEBUG -O2 -m64 -mt -c mpicxx.cc -KPIC -DPIC -o .libs/mpicxx.o
> "mpicxx.cc", line 293: Error: A declaration does not specify a tag or an
> identifier.
> "mpicxx.cc", line 293: Error: Use ";" to terminate declarations.
> "mpicxx.cc", line 293: Error: A declaration was expected instead of "0x01".
> 3 Error(s) detected
> .......
> +++++++++++++++++++++++++
>
>
> So, it seems to me, there is somewhat nasty with one or more
> declarations somewhere...
>
> Does somebody have any idea what I am doing wrong? Or maybe there is an
> bug in 1.2.7?
>
>
> Best regards
> Paul Kapinos
>
>
> P.S. I Used quite straght forward configuretion like following:
>
> ./configure --enable-static --with-devel-headers CFLAGS="-O2 -m64"
> CXXFLAGS="-O2 -m64" F77=f77 FFLAGS="-O2 -m64" FCFLAGS="-O2 -m64"
> LDFLAGS="-O2 -m64" --prefix=/rwthfs/rz/SW/MPI/openmpi-1.2.7/solx8664/studio
>
>
> Of course other versions (32bit, other compiler) are configured with
> adapted settings ;-) The very same settings applied to 1.2.5 and 1.2.6
> does not produce any problems in the past.
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
=========================
rolf.vandevaart_at_[hidden]
781-442-3043
=========================