Re: [OMPI users] Problems with compilig of OpenMPI 1.2.7
On 08/29/08 19:27, Jeff Squyres wrote: On Aug 29, 2008, at 10:48 AM, Rolf Vandevaart wrote: 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. Hmm. This hasn't changed in mpicxx.cc for a long time. What made it get activated now? I think I touched upon this in my earlier post. There was a change in /usr/include/sys/synch.h Solaris header file. And one of the changes was adding the following line. #define LOCK_SHARED 0x01/* same as USYNC_PROCESS */ Therefore, we are seeing it on later versions of Solaris. Rolf -- = rolf.vandeva...@sun.com 781-442-3043 =
Re: [OMPI users] Problems with compilig of OpenMPI 1.2.7
On Aug 29, 2008, at 10:48 AM, Rolf Vandevaart wrote: 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. Hmm. This hasn't changed in mpicxx.cc for a long time. What made it get activated now? -- Jeff Squyres Cisco Systems
Re: [OMPI users] Problems with compilig of OpenMPI 1.2.7
On Aug 29, 2008, at 9:03 AM, Paul Kapinos wrote: 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 Can you send the full config.log and make output from at least one of these builds? -- Jeff Squyres Cisco Systems
Re: [OMPI users] Problems with compilig of OpenMPI 1.2.7
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 =
Re: [OMPI users] Problems with compilig of OpenMPI 1.2.7
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 =