Hi Again Paul:
A workaround for your issue is to add the following to your configure line.
--without-threads
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.
Rolf
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.
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
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
=========================
rolf.vandeva...@sun.com
781-442-3043
=========================