[mpich-discuss] Error building mpich-3.1.2 on Solaris 10 with gcc-4.9.0

Siegmar Gross Siegmar.Gross at informatik.hs-fulda.de
Sat Sep 6 02:24:00 CDT 2014


Hi,

> Could you configure with --disable-cxx to see if you can continue?

I can build MPICH with gcc-4.9.0 without C++ bindings on Solaris 10
Sparc and x86_64.

tyr small_prog 114 mpichversion
MPICH Version:          3.2a1
MPICH Release date:     Fri Sep  5 00:00:35 CDT 2014
MPICH Device:           ch3:nemesis
MPICH configure:        --prefix=/usr/local/mpich-3.2_64_gcc
  --libdir=/usr/local/mpich-3.2_64_gcc/lib64
  --includedir=/usr/local/mpich-3.2_64_gcc/include64
  CC=gcc CXX=g++ F77=gfortran FC=gfortran CFLAGS=-m64 CXXFLAGS=-m64
  FFLAGS=-m64 FCFLAGS=-m64 LDFLAGS=-m64
  -L/usr/lib/sparcv9 -Wl,-rpath /usr/lib/sparcv9 --enable-f77 --enable-fc
  --disable-cxx --enable-romio --enable-debuginfo --enable-smpcoll
  --enable-threads=runtime --with-thread-package=posix --enable-shared
MPICH CC:       gcc -m64   -O2
MPICH CXX:      no -m64 
MPICH F77:      gfortran -m64  -O2
MPICH FC:       gfortran -m64  -O2

tyr small_prog 115 mpicc init_finalize.c
tyr small_prog 116 mpiexec -np 1 a.out
Hello!

tyr small_prog 117 mpicc thread_support.c 
tyr small_prog 118 mpiexec -np 1 a.out
I have requested MPI_THREAD_MULTIPLE in "MPI_Init_thread ()" and
it provides MPI_THREAD_MULTIPLE
"MPI_Query_thread ()" returned MPI_THREAD_MULTIPLE:
        Many threads are supported and any thread may call
        MPI functions at any time.
"MPI_Is_thread_main ()" returned: "true".
tyr small_prog 119 


I have attached my config and log files for my Solaris Sparc version
(even "make check" works fine). However, I get errors with "make
testing" (APPLICATION TIMED OUT). Generally, I only use "make check",
so perhaps I have to do it in a different way (e.g., running the test
as normal user and not as root). I stopped this test.

By the way, you can avoid the warning about X11/Xutil.h, if you include
X11/Xlib.h before this header file.

tyr mpich-3.2-SunOS.sparc.64_gcc_disable-cxx 135 more /usr/include/X11/Xutil.h
/* $TOG: Xutil.h /main/45 1998/02/06 18:03:35 kaleb $ */
...
/* You must include <X11/Xlib.h> before including this file */
...


I would be grateful, if you can fix the problem for C++ bindings.
C++ bindings are available in my Sun C 5.12 version of MPICH.

tyr fd1026 101 mpichversion 
MPICH Version:          3.2a1
MPICH Release date:     Fri Sep  5 00:00:35 CDT 2014
MPICH Device:           ch3:nemesis
MPICH configure:        --prefix=/usr/local/mpich-3.2_64_cc
  --libdir=/usr/local/mpich-3.2_64_cc/lib64
  --includedir=/usr/local/mpich-3.2_64_cc/include64
  CC=cc CXX=CC F77=f77 FC=f95 CFLAGS=-m64 CXXFLAGS=-m64
  FFLAGS=-m64 FCFLAGS=-m64 LDFLAGS=-m64
  -L/usr/lib/sparcv9 -R/usr/lib/sparcv9 --enable-f77 --enable-fc
  --enable-cxx --enable-romio --enable-debuginfo --enable-smpcoll
  --enable-threads=runtime --with-thread-package=posix --enable-shared
MPICH CC:       cc -m64   -O2
MPICH CXX:      CC -m64  -O2
MPICH F77:      f77 -m64 
MPICH FC:       f95 -m64  -O2
tyr fd1026 102 


Kind regards and thank you very much for any help in advance

Siegmar


> --Junchao Zhang
> 
> 
> On Fri, Sep 5, 2014 at 2:26 PM, Siegmar Gross <
> Siegmar.Gross at informatik.hs-fulda.de> wrote:
> 
> > Hi,
> >
> > thank you very much for all answers to my problems building
> > MPICH on Solaris with gcc-4.9.0. Today I tried to build
> > mpich-master-v3.2a1. Unfortunately I have had the same problems.
> >
> > > 1) For the linking errors you should provide the full build log but it
> > > could just be an issue with the order of arguments passed to Solaris ld,
> > or
> > > if you compiled gcc to use GNU ld, the same issue might occur if the
> > > configure script assumes Solaris => Solaris ld.
> >
> > I have attached the files in the archive
> > mpich-3.2-SunOS.sparc.64_gcc_only-m64.tar.gz
> >
> >
> > > 2) I keep this sticky note on my wiki:
> > >
> > > "Compiler or options invalid for pre-UNIX 03 X/Open applications and
> > > pre-2001 POSIX applications"
> > >
> > >
> > /usr/gcc/4.6/lib/gcc/i386-pc-solaris2.11/4.6.3/include-fixed/sys/feature_tests.h:362:2:
> > > error: #error "Compiler or options invalid for pre-UNIX 03 X/Open
> > applications
> > > and pre-2001 POSIX applications"
> > >
> > >  Conflict of standards between _XOPEN_SOURCE and C99 extensions.
> > >
> > > #if defined(_STDC_C99) && (defined(__XOPEN_OR_POSIX) && !defined(_XPG6))
> > >
> > > As GCC standards do not match ANSI/ISO/POSIX standards strictly you need
> > to
> > > specify the standard you want to comply with.
> > > Usually adding -D_XOPEN_SOURCE=500 (or 600) and/or -D__EXTENSIONS__ to
> > your
> > > compiler flags is a good start.
> >
> > It was a little bit more complicated to get this one as far as
> > the build with just "CFLAGS=-m64". Adding "-D__EXTENSIONS__" broke
> > the build process. Adding "-D_XOPEN_SOURCE=500" didn't solve the
> > problem, because Solaris expects "-D_XOPEN_SOURCE=600". Using this
> > flag wasn't helpful, because you redefined it to "500" in file
> > mpich-master-v3.2a1/src/mpi/romio/adio/common/ad_read.c, so that I
> > had to add "-D_STDC_C99" to keep "600". Another problem came from
> > file /usr/include/sys/statvfs.h ("FSTYPSZ" wasn't defined). Looking
> > into the file showed the following.
> >
> > ...
> > #define _FSTYPSZ        16
> > #if !defined(_XPG4_2) || defined(__EXTENSIONS__)
> > #ifndef FSTYPSZ
> > #define FSTYPSZ _FSTYPSZ
> > #endif
> > ...
> >
> > Finally I could build MPICH with "CFLAGS=-m64 -std=c99 -D_STDC_C99
> > -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -DFSTYPSZ=_FSTYPSZ"
> > to the same point as with "CFLAGS=-m64". In both cases libmpicxx.so
> > wasn't available. I have attached the files for this build process
> > in the archive mpich-3.2-SunOS.sparc.64_gcc.tar.gz. Please let me
> > know if you need anything else.
> >
> > Kind regards
> >
> > Siegmar
> >
> > _______________________________________________
> > discuss mailing list     discuss at mpich.org
> > To manage subscription options or unsubscribe:
> > https://lists.mpich.org/mailman/listinfo/discuss
> >
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mpich-3.2-SunOS.sparc.64_gcc_disable-cxx.tar.gz
Type: application/octet-stream
Size: 109760 bytes
Desc: mpich-3.2-SunOS.sparc.64_gcc_disable-cxx.tar.gz
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20140906/eb997d54/attachment.obj>


More information about the discuss mailing list