Hi,
I tried to build openmpi-dev-3793-g896f857 on my machines
(Solaris 10 Sparc, Solaris 10 x86_64, and openSUSE Linux
12.1 x86_64) with gcc-5.2.0 and Sun C 5.13. I was successful on
my Linux machine, but I got the following errors on both Solaris
platforms with both compilers. In my opinion one include file
isn't available in the corresponding source code file.
"/usr/include/sys/statfs.h" contains the structure.
sunpc1 fd1026 107 more /usr/include/sys/statfs.h
...
/*
* Structure returned by statfs(2) and fstatfs(2).
* This structure and associated system calls have been replaced
* by statvfs(2) and fstatvfs(2) and will be removed from the system
* in a near-future release.
*/
struct statfs {
short f_fstyp; /* File system type */
long f_bsize; /* Block size */
long f_frsize; /* Fragment size (if supported) */
long f_blocks; /* Total number of blocks on file system */
long f_bfree; /* Total number of free blocks */
ino_t f_files; /* Total number of file nodes (inodes) */
ino_t f_ffree; /* Total number of free file nodes */
char f_fname[6]; /* Volume name */
char f_fpack[6]; /* Pack name */
};
...
tyr openmpi-dev-3793-g896f857-SunOS.sparc.64_gcc 44 tail -15
log.make.SunOS.sparc.64_gcc
make[2]: Entering directory
`/export2/src/openmpi-master/openmpi-dev-3793-g896f857-SunOS.sparc.64_gcc/opal/mca/mpool/hugepage'
CC mpool_hugepage_module.lo
CC mpool_hugepage_component.lo
../../../../../openmpi-dev-3793-g896f857/opal/mca/mpool/hugepage/mpool_hugepage_component.c:
In function 'mca_mpool_hugepage_find_hugepages':
../../../../../openmpi-dev-3793-g896f857/opal/mca/mpool/hugepage/mpool_hugepage_component.c:224:27:
error: storage size of 'info' isn't known
struct statfs info;
^
../../../../../openmpi-dev-3793-g896f857/opal/mca/mpool/hugepage/mpool_hugepage_component.c:226:13: warning: implicit declaration of function 'statfs'
[-Wimplicit-function-declaration]
statfs (path, &info);
^
make[2]: *** [mpool_hugepage_component.lo] Error 1
make[2]: Leaving directory
`/export2/src/openmpi-master/openmpi-dev-3793-g896f857-SunOS.sparc.64_gcc/opal/mca/mpool/hugepage'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/export2/src/openmpi-master/openmpi-dev-3793-g896f857-SunOS.sparc.64_gcc/opal'
make: *** [all-recursive] Error 1
tyr openmpi-dev-3793-g896f857-SunOS.sparc.64_gcc 45
tyr openmpi-dev-3793-g896f857-SunOS.sparc.64_cc 90 tail -11
log.make.SunOS.sparc.64_cc
CC mpool_hugepage_module.lo
CC mpool_hugepage_component.lo
"../../../../../openmpi-dev-3793-g896f857/opal/mca/mpool/hugepage/mpool_hugepage_component.c",
line 224: incomplete struct/union/enum statfs: info
"../../../../../openmpi-dev-3793-g896f857/opal/mca/mpool/hugepage/mpool_hugepage_component.c",
line 226: warning: implicit function declaration: statfs
"../../../../../openmpi-dev-3793-g896f857/opal/mca/mpool/hugepage/mpool_hugepage_component.c",
line 227: improper member use: f_bsize
cc: acomp failed for
../../../../../openmpi-dev-3793-g896f857/opal/mca/mpool/hugepage/mpool_hugepage_component.c
make[2]: *** [mpool_hugepage_component.lo] Error 1
make[2]: Leaving directory
`/export2/src/openmpi-master/openmpi-dev-3793-g896f857-SunOS.sparc.64_cc/opal/mca/mpool/hugepage'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/export2/src/openmpi-master/openmpi-dev-3793-g896f857-SunOS.sparc.64_cc/opal'
make: *** [all-recursive] Error 1
tyr openmpi-dev-3793-g896f857-SunOS.sparc.64_cc 91
I would be grateful if somebody can fix the problem. Thank you very
much for any help in advance.
Kind regards
Siegmar