Build error on Cray platform
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 200
- Forks
- 85
- Avg merge
- 3d 21h
- Merged PRs (30d)
- 2
Description
The following build error seems to be specific to Cray XK login nodes (SUSE-based I hink). I am not sure if their build environment any different, I explicitly switched to GNU tool chain instead of default PGI, and still experience the errors. Any idea?
make[2]: Entering directory /autofs/na3_techint/home/fwang2/fileutils-atlas/build/src/common' mpicc -DHAVE_CONFIG_H -I. -I../../../src/common -I../.. -I/opt/sw/xk6/ompi/1.7.1/sles11.1_gnu4.7.2/include/openmpi/opal/mca/hwloc/hwloc151/hwloc/include -I/opt/sw/xk6/ompi/1.7.1/sles11.1_gnu4.7.2/include/openmpi/opal/mca/event/libevent2019/libevent -I/opt/sw/xk6/ompi/1.7.1/sles11.1_gnu4.7.2/include/openmpi/opal/mca/event/libevent2019/libevent/include -I/opt/sw/xk6/ompi/1.7.1/sles11.1_gnu4.7.2/include -I/opt/sw/xk6/ompi/1.7.1/sles11.1_gnu4.7.2/include/openmpi -I/opt/cray/xe-sysroot/4.1.40/usr/include -I/opt/cray/xe-sysroot/4.1.40/usr/include -I/ccs/techint/home/fwang2/fileutils-atlas/install/include/ -std=gnu99 -ggdb -W -pedantic -Wall -Wextra -Wconversion -Wformat=2 -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wuninitialized -Wunknown-pragmas -Wstrict-aliasing -Wfloat-equal -Wundef -Wbad-function-cast -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Winline -Wdisabled-optimization -Wshadow -Wwrite-strings -I/ccs/techint/home/fwang2/fileutils-atlas/src/common -I/ccs/techint/home/fwang2/fileutils-atlas/install/include -MT libfileutils_common_a-bayer_param_path.o -MD -MP -MF .deps/libfileutils_common_a-bayer_param_path.Tpo -c -o libfileutils_common_a-bayer_param_path.otest -f 'bayer_param_path.c' || echo '../../../src/common/'`bayer_param_path.c
In file included from ../../../src/common/bayer_util.h:17:0,
from ../../../src/common/bayer.h:19,
from ../../../src/common/bayer_param_path.c:1:
cc1: warning: -Wuninitialized is not supported without -O
cc1: warning: -funit-at-a-time is required for inlining of functions that are only called once
In file included from ../../../src/common/bayer_util.h:17,
from ../../../src/common/bayer.h:19,
from ../../../src/common/bayer_param_path.c:1:
/opt/cray/xe-sysroot/4.1.40/usr/include/stdio.h:427: warning: redundant redeclaration of ‘fscanf’
/opt/cray/xe-sysroot/4.1.40/usr/include/stdio.h:430: warning: redundant redeclaration of ‘scanf’
/opt/cray/xe-sysroot/4.1.40/usr/include/stdio.h:432: warning: redundant redeclaration of ‘sscanf’
/opt/cray/xe-sysroot/4.1.40/usr/include/stdio.h:478: warning: redundant redeclaration of ‘vfscanf’
/opt/cray/xe-sysroot/4.1.40/usr/include/stdio.h:483: warning: redundant redeclaration of ‘vscanf’
/opt/cray/xe-sysroot/4.1.40/usr/include/stdio.h:486: warning: redundant redeclaration of ‘vsscanf’
../../../src/common/bayer_param_path.c:12: warning: function declaration isn’t a prototype
../../../src/common/bayer_param_path.c: In function ‘bayer_stat_pack’:
../../../src/common/bayer_param_path.c:38: warning: conversion to ‘size_t’ from ‘long int’ may change the sign of the result
../../../src/common/bayer_param_path.c: In function ‘bayer_stat_unpack’:
../../../src/common/bayer_param_path.c:72: error: ‘blksize_t’ undeclared (first use in this function)
../../../src/common/bayer_param_path.c:72: error: (Each undeclared identifier is reported only once
../../../src/common/bayer_param_path.c:72: error: for each function it appears in.)
../../../src/common/bayer_param_path.c:72: error: expected ‘;’ before ‘val’
../../../src/common/bayer_param_path.c:95: warning: conversion to ‘size_t’ from ‘long int’ may change the sign of the result
make[2]: *** [libfileutils_common_a-bayer_param_path.o] Error 1
make[2]: Leaving directory /autofs/na3_techint/home/fwang2/fileutils-atlas/build/src/common' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory/autofs/na3_techint/home/fwang2/fileutils-atlas/build/src'
make: *** [install-recursive] Error 1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the reported make build on the Cray XK environment and start with src/common/bayer_param_path.c, especially bayer_stat_unpack, following the includes through src/common/bayer_util.h and bayer.h. Investigate why blksize_t is unavailable with the shown toolchain and confirm completion when this file compiles and the reported install-recursive build no longer fails.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- build-system, hpc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100