Ok, so this is 2 errors. 1. Something in the C++ bindings (which is weird because it's new; I don't think this code has changed in a long, long time). This actually looks like a problem in your C++ compiler, however -- can you compile other C++ applications at all?
2. Same issue in VT. I'll ping the VT guys again... On Sep 9, 2012, at 12:05 PM, Siegmar Gross wrote: > Hi, > >> Can you test the 1.6.2rc tarball and see if the problem is resolved? >> >> http://www.open-mpi.org/software/ompi/v1.6/ > > > I get no unexpected warnings from "configure" but still errors from "make". > > ... > Creating mpi/man/man3/OpenMPI.3 man page... > make[2]: Leaving directory `/.../openmpi-1.6.2-SunOS.sparc.64_gcc/ompi' > Making all in mpi/cxx > make[2]: Entering directory > `/.../openmpi-1.6.2-SunOS.sparc.64_gcc/ompi/mpi/cxx' > CXX mpicxx.lo > In file included from /usr/include/stdio.h:66:0, > from ../../../../openmpi-1.6.2rc1/ompi/mpi/cxx/mpicxx.h:50, > from ../../../../openmpi-1.6.2rc1/ompi/mpi/cxx/mpicxx.cc:22: > /usr/include/iso/stdio_iso.h:195:60: error: > redefinition of 'const char* restrict' > /usr/include/iso/stdio_iso.h:195:32: error: > 'const char* restrict' previously declared here > /usr/include/iso/stdio_iso.h:197:16: error: > redefinition of 'const char* restrict' > /usr/include/iso/stdio_iso.h:196:34: error: > 'const char* restrict' previously declared here > /usr/include/iso/stdio_iso.h:197:38: error: > conflicting declaration 'std::FILE* restrict' > /usr/include/iso/stdio_iso.h:196:34: error: > 'restrict' has a previous declaration as 'const char* restrict' > /usr/include/iso/stdio_iso.h:198:48: error: > conflicting declaration 'char* restrict' > /usr/include/iso/stdio_iso.h:198:26: error: > 'restrict' has a previous declaration as 'std::FILE* restrict' > ... > /usr/include/iso/stdio_c99.h:70:64: error: > conflicting declaration 'const char* restrict' > /usr/include/iso/stdio_c99.h:70:28: error: > 'restrict' has a previous declaration as 'char* restrict' > In file included from /usr/include/iso/wchar_iso.h:26:0, > from /usr/include/wchar.h:13, > from /usr/local/gcc-4.7.1/include/c++/4.7.1/cwchar:46, > from > /usr/local/gcc-4.7.1/include/c++/4.7.1/bits/postypes.h:42, > from /usr/local/gcc-4.7.1/include/c++/4.7.1/iosfwd:42, > from /usr/local/gcc-4.7.1/include/c++/4.7.1/ios:39, > from /usr/local/gcc-4.7.1/include/c++/4.7.1/ostream:40, > from /usr/local/gcc-4.7.1/include/c++/4.7.1/iostream:40, > from ../../../../openmpi-1.6.2rc1/ompi/mpi/cxx/mpicxx.h:53, > from ../../../../openmpi-1.6.2rc1/ompi/mpi/cxx/mpicxx.cc:22: > /usr/include/iso/time_iso.h:92:66: error: > conflicting declaration 'const char* restrict' > /usr/include/iso/time_iso.h:92:30: error: > 'restrict' has a previous declaration as 'char* restrict' > ... > In file included from > ../../../../openmpi-1.6.2rc1/ompi/mpi/cxx/functions_inln.h:22:0, > from ../../../../openmpi-1.6.2rc1/ompi/mpi/cxx/mpicxx.h:272, > from ../../../../openmpi-1.6.2rc1/ompi/mpi/cxx/mpicxx.cc:22: > /usr/include/string.h:65:57: error: conflicting declaration 'const char* > restrict' > /usr/include/string.h:65:29: error: > 'restrict' has a previous declaration as 'char* restrict' > ... > In file included from /usr/include/stdlib.h:18:0, > from > ../../../../openmpi-1.6.2rc1/opal/class/opal_object.h:122, > from > ../../../../openmpi-1.6.2rc1/ompi/errhandler/errhandler.h:30, > from ../../../../openmpi-1.6.2rc1/ompi/mpi/cxx/mpicxx.cc:37: > /usr/include/iso/stdlib_iso.h:113:14: error: > previous declaration of 'void* std::bsearch(const void*, const void*, > ulong_t, > ulong_t, int (*)(const void*, const void*))' with 'C' linkage > /usr/include/iso/stdlib_iso.h:118:38: error: > conflicts with new declaration with 'C++' linkage > /usr/include/iso/stdlib_iso.h:134:13: error: previous declaration of > 'void std::qsort(void*, ulong_t, ulong_t, int (*)(const void*, const void*))' > with 'C' linkage > /usr/include/iso/stdlib_iso.h:137:72: error: conflicts with new declaration > with 'C++' linkage > make[2]: *** [mpicxx.lo] Error 1 > make[2]: Leaving directory > `/.../openmpi-1.6.2-SunOS.sparc.64_gcc/ompi/mpi/cxx' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/.../openmpi-1.6.2-SunOS.sparc.64_gcc/ompi' > make: *** [all-recursive] Error 1 > > > tyr openmpi-1.6.2-SunOS.sparc.64_gcc 166 gcc --version > gcc (GCC) 4.7.1 > > > > I also still get the error with the C/C++ compiler from Oracle Solaris Studio. > > ... > CC libotfaux_la-OTFAUX_State.lo > CCLD libotfaux.la > make[8]: Leaving directory > `/.../openmpi-1.6.2-SunOS.sparc.64_cc/ompi/contrib/vt/vt/extlib/otf/otfauxlib' > Making all in tools > make[8]: Entering directory > `/.../openmpi-1.6.2-SunOS.sparc.64_cc/ompi/contrib/vt/vt/extlib/otf/tools' > Making all in otfaux > make[9]: Entering directory > `/.../openmpi-1.6.2-SunOS.sparc.64_cc/ompi/contrib/vt/vt/extlib/otf/tools/otfaux' > CXX otfaux.o > "../../../../../../../../../openmpi-1.6.2rc1/ompi/contrib/vt/vt/extlib/otf/tools/otfaux/otfaux.cpp", > line 834: Error: The function "rint" must have a prototype. > 1 Error(s) detected. > > > You include "cmath.h" which I don't have. > > tyr openmpi-1.6.2-SunOS.sparc.64_cc 171 find /usr/include -name cmath.h > tyr openmpi-1.6.2-SunOS.sparc.64_cc 172 find /usr/local/gcc-4.7.1/ -name > cmath.h > tyr openmpi-1.6.2-SunOS.sparc.64_cc 173 > > The prototype is in math.h. When I add "#include <math.h>" the error > disappears, > although I'm not sure if it is allowed to add this file in a C++ file. > > I get the following warning from "configure". > > checking stdbool.h presence... yes > configure: WARNING: stdbool.h: present but cannot be compiled > configure: WARNING: stdbool.h: check for missing prerequisite headers? > configure: WARNING: stdbool.h: see the Autoconf documentation > configure: WARNING: stdbool.h: section "Present But Cannot Be Compiled" > configure: WARNING: stdbool.h: proceeding with the compiler's result > configure: WARNING: ## > ------------------------------------------------------ ## > configure: WARNING: ## Report this to > http://www.open-mpi.org/community/help/ ## > configure: WARNING: ## > ------------------------------------------------------ ## > checking for stdbool.h... no > checking if <stdbool.h> works... no (don't have <stdbool.h>) > > I try to build openmpi-1.6.2 with "cc" on my other architectures on Monday or > Tuesday. > > > Kind regards > > Siegmar > > > > >> On Aug 27, 2012, at 7:04 AM, Siegmar Gross wrote: >> >>> Hi, >>> >>> we have installed the latest patches on our Solaris machines and I have >>> a problem compiling openmpi-1.6.1 with gcc-4.6.2. I used the following >>> commands. >>> >>> mkdir openmpi-1.6.1-${SYSTEM_ENV}.${MACHINE_ENV}.64_gcc >>> cd openmpi-1.6.1-${SYSTEM_ENV}.${MACHINE_ENV}.64_gcc >>> >>> ../openmpi-1.6.1/configure --prefix=/usr/local/openmpi-1.6.1_64_gcc \ >>> --libdir=/usr/local/openmpi-1.6.1_64_gcc/lib64 \ >>> LDFLAGS="-m64 -L/usr/local/gcc-4.6.2/lib/sparcv9" \ >>> CC="gcc" CXX="g++" F77="gfortran" FC="gfortran" \ >>> CFLAGS="-m64" CXXFLAGS="-m64" FFLAGS="-m64" FCFLAGS="-m64" \ >>> CPP="cpp" CXXCPP="cpp" \ >>> CPPFLAGS="" CXXCPPFLAGS="" \ >>> C_INCL_PATH="" C_INCLUDE_PATH="" CPLUS_INCLUDE_PATH="" \ >>> OBJC_INCLUDE_PATH="" MPIHOME="" \ >>> --without-udapl --without-openib \ >>> --enable-mpi-f90 --with-mpi-f90-size=small \ >>> --enable-heterogeneous --enable-cxx-exceptions \ >>> --enable-orterun-prefix-by-default \ >>> --with-threads=posix --enable-mpi-thread-multiple \ >>> --enable-opal-multi-threads \ >>> --with-hwloc=internal --with-ft=LAM --enable-sparse-groups \ >>> |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_gcc >>> >>> make |& tee log.make.$SYSTEM_ENV.$MACHINE_ENV.64_gcc >>> >>> "log.configure.SunOS.sparc.64_gcc" shows no errors. >>> "log.make.SunOS.sparc.64_gcc" breaks with the following error. >>> >>> ... >>> Creating mpi/man/man3/OpenMPI.3 man page... >>> make[2]: Leaving directory >>> `/.../openmpi-1.6.1-SunOS.sparc.64_gcc/ompi' >>> Making all in mpi/cxx >>> make[2]: Entering directory >>> `/.../openmpi-1.6.1-SunOS.sparc.64_gcc/ompi/mpi/cxx' >>> CXX mpicxx.lo >>> In file included from /usr/include/stdio.h:66:0, >>> from ../../../../openmpi-1.6.1/ompi/mpi/cxx/mpicxx.h:50, >>> from ../../../../openmpi-1.6.1/ompi/mpi/cxx/mpicxx.cc:22: >>> /usr/include/iso/stdio_iso.h:195:60: error: >>> redefinition of 'const char* restrict' >>> /usr/include/iso/stdio_iso.h:195:32: error: >>> 'const char* restrict' previously declared here >>> /usr/include/iso/stdio_iso.h:197:16: error: >>> redefinition of 'const char* restrict' >>> /usr/include/iso/stdio_iso.h:196:34: error: >>> 'const char* restrict' previously declared here >>> /usr/include/iso/stdio_iso.h:197:38: error: >>> conflicting declaration 'FILE* restrict' >>> /usr/include/iso/stdio_iso.h:196:34: error: >>> 'restrict' has a previous declaration as 'const char* restrict' >>> /usr/include/iso/stdio_iso.h:198:48: error: >>> conflicting declaration 'char* restrict' >>> /usr/include/iso/stdio_iso.h:198:26: error: >>> 'restrict' has a previous declaration as 'FILE* restrict' >>> ... >>> >>> Many lines of similar errors. >>> >>> ... >>> In file included from >>> ../../../../openmpi-1.6.1/ompi/mpi/cxx/functions_inln.h:22:0, >>> from ../../../../openmpi-1.6.1/ompi/mpi/cxx/mpicxx.h:272, >>> from ../../../../openmpi-1.6.1/ompi/mpi/cxx/mpicxx.cc:22: >>> /usr/include/string.h:65:57: error: >>> conflicting declaration 'const char* restrict' >>> /usr/include/string.h:65:29: error: >>> 'restrict' has a previous declaration as 'char* restrict' >>> /usr/include/string.h:66:9: error: >>> conflicting declaration 'char** restrict' >>> /usr/include/string.h:65:29: error: >>> 'restrict' has a previous declaration as 'char* restrict' >>> /usr/include/string.h:71:56: error: >>> conflicting declaration 'const void* restrict' >>> /usr/include/string.h:71:28: error: >>> 'restrict' has a previous declaration as 'void* restrict' >>> /usr/include/string.h:77:53: error: >>> conflicting declaration 'void* restrict' >>> /usr/include/string.h:77:31: error: >>> 'restrict' has a previous declaration as 'const void* restrict' >>> /usr/include/string.h:78:56: error: >>> conflicting declaration 'void* restrict' >>> /usr/include/string.h:78:34: error: >>> 'restrict' has a previous declaration as 'const void* restrict' >>> make[2]: *** [mpicxx.lo] Error 1 >>> make[2]: Leaving directory >>> `.../openmpi-1.6.1-SunOS.sparc.64_gcc/ompi/mpi/cxx' >>> make[1]: *** [all-recursive] Error 1 >>> make[1]: Leaving directory `.../openmpi-1.6.1-SunOS.sparc.64_gcc/ompi' >>> make: *** [all-recursive] Error 1 >>> tyr openmpi-1.6.1-SunOS.sparc.64_gcc 127 >>> >>> >>> Has anyone else a similar problem? Is our system responsible for the >>> problem so that I must open a service request or is something wrong >>> with openmpi? Thank you very much for any help in advance. >>> >>> >>> Kind regards >>> >>> Siegmar >>> >>> _______________________________________________ >>> users mailing list >>> us...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> >> -- >> Jeff Squyres >> jsquy...@cisco.com >> For corporate legal information go to: >> http://www.cisco.com/web/about/doing_business/legal/cri/ >> >> > -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/