Hi Again Paul:
A workaround for your issue is to add the following to your configure line.
This will prevent the synch.h from being included as it is not needed
anyways. We will have to figure out a better solution but for now I
think that will get you passed your mpicxx.cc issue.
On 08/29/08 13:48, Rolf Vandevaart wrote:
> 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.
> 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
>> Six of 8 broken versions stopped the compilation on the file
>> Making all in cxx
>> gmake: Entering directory
>> 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
>> 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"
>> 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