prov/util/src/util_mem_hooks.c: #if syntax error with libfabric-1.20.0 and main branch
dslarm opened this issue · comments
Describe the bug
libfabric fails to compile on aarch64 - due to missing brackets in the elif at:
prov/util/src/util_mem_hooks.c line 193.
Similarly the riscv case has missing brackets.
This may be specifically reproducible on LLVM family compilers, as the GNU build succeeded, but there is a very obvious syntax error here that should not be there. It should be fixable without needing to reproduce the error.
To Reproduce
Steps to reproduce the behavior..
Using the Arm Compiler for Linux 23.10 (LLVM based) and Spack.
Spack's chosen flags are:
^libfabric@1.20.0%arm@23.10~debug~kdreg build_system=autotools fabrics=sockets,tcp,udp arch=linux-amzn2023-neoverse_v1
which builds with a config of:
--disable-debug --with-kdreg=no --enable-cxi=no --enable-efa=no --enable-gni=no --enable-mlx=no --enable-mrail=no --enable-opx=no --enable-psm=no --enable-psm2=no --enable-psm3=no --enable-rxm=no --enable-rxd=no --enable-shm=no --enable-sockets=yes --enable-tcp=yes --enable-udp=yes --enable-usnic=no --enable-verbs=no --enable-xpmem=no
Expected behavior
It should not fail to compile.
Output
If applicable, add output to help explain your problem. (e.g. backtrace, debug logs)
460 /bin/sh ./libtool --tag=CC --mode=compile /home/ec2-user/spack/lib/spack/env/arm/armclang -DHAVE_CONFIG_H -I. -I./include -D_GNU_SOURCE -D__USE_XOPEN2K8 -DSYSCONFDIR=\"/home/ec2-user/spack/opt/spack/linux-amzn2023-n
eoverse_v1/arm-23.10/libfabric-1.20.0-abdkllbut3qad3hgt7y2cvxbyxxsktn4/etc\" -DRDMADIR=\"@rdmadir@\" -DPROVDLDIR=\"/home/ec2-user/spack/opt/spack/linux-amzn2023-neoverse_v1/arm-23.10/libfabric-1.20.0-abdkllbut3qad3hgt7y
2cvxbyxxsktn4/lib/libfabric\" -I./prov/sockets/include -I./prov/sockets -I./prov/hook/include -I./prov/hook/perf/include -I./prov/hook/hook_debug/include -I./prov/hook/hook_hmem/include -I./prov/hook/dmabuf_pee
r_mem/include -Wall -O2 -DNDEBUG -fvisibility=hidden -Wall -Wundef -Wpointer-arith -MT prov/util/src/src_libfabric_la-cuda_ipc_monitor.lo -MD -MP -MF prov/util/src/.deps/src_libfabric_la-cuda_ipc_monitor.Tpo -c -o prov
/util/src/src_libfabric_la-cuda_ipc_monitor.lo `test -f 'prov/util/src/cuda_ipc_monitor.c' || echo './'`prov/util/src/cuda_ipc_monitor.c
>> 461 prov/util/src/util_mem_hooks.c:193:28: error: expected ')' in preprocessor expression
462 193 | #elif (defined(__aarch64__)
463 | ~~~~~~~~~~~~~~~~~~~~^
464 prov/util/src/util_mem_hooks.c:193:7: note: to match this '('
465 193 | #elif (defined(__aarch64__)
466 | ^
>> 467 prov/util/src/util_mem_hooks.c:199:48: error: expected ')' in preprocessor expression
468 199 | #elif (defined(__riscv) && (__riscv_xlen == 64)
469 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
470 prov/util/src/util_mem_hooks.c:199:7: note: to match this '('
471 199 | #elif (defined(__riscv) && (__riscv_xlen == 64)
472 | ^
473 2 errors generated.
Environment:
Amazon Linux 2023.
Additional context
Add any other context about the problem here.