[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
Fri Sep 5 14:26:43 CDT 2014
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mpich-3.2-SunOS.sparc.64_gcc_only-m64.tar.gz
Type: application/octet-stream
Size: 104679 bytes
Desc: mpich-3.2-SunOS.sparc.64_gcc_only-m64.tar.gz
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20140905/815ccf9e/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mpich-3.2-SunOS.sparc.64_gcc.tar.gz
Type: application/octet-stream
Size: 110431 bytes
Desc: mpich-3.2-SunOS.sparc.64_gcc.tar.gz
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20140905/815ccf9e/attachment-0001.obj>
More information about the discuss
mailing list