hpc / hpc/mpifileutils

Build error on Cray platform

Open
#19 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

user-request
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.