-
Notifications
You must be signed in to change notification settings - Fork 300
Closed
Description
This is a fun corner case. We are trying to build libmesh on Argonne's AURORA. It configures and builds fine, until we try to load an exodus file it reports:
EXODUS: Error: Attempting to open the netcdf-4 file:
'/lus/flare/projects/ai4ns-composites/scratch/tmplfdetu5k/mesh.exo'
with a netcdf library that does not support netcdf-4
and indeed, the nc-config in libmesh bin suggests netcdf-4 is disabled.
We then looked into the config.log. The issue is kinda convoluted, but the relevant bits of the log is
configure:61236: checking for hdf5.h
configure:61236: mpicc -c -Werror=recommended-option -I/flare/ai4ns-composites/packages/moose/scripts/../petsc/include -I/flare/ai4ns-composites/packages/moose/scripts/../petsc/arch-moose/include -I/flare/ai4ns-composites/packages/moose/petsc/arch-moose/include -I/flare/ai4ns-composites/packages/moose/petsc/include -I/flare/ai4ns-composites/packages/moose/petsc/arch-moose/include -I/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/oneapi-2025.2.0/hdf5-1.14.6-zkruqq7/include conftest.c >&5
configure:61236: $? = 0
configure:61236: result: yes
configure:61249: checking for HDF5 version >= 1.8.0
configure:61304: mpicc -c -Werror=recommended-option -I/flare/ai4ns-composites/packages/moose/scripts/../petsc/include -I/flare/ai4ns-composites/packages/moose/scripts/../petsc/arch-moose/include -I/flare/ai4ns-composites/packages/moose/petsc/arch-moose/include -I/flare/ai4ns-composites/packages/moose/petsc/include -I/flare/ai4ns-composites/packages/moose/petsc/arch-moose/include -I/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/oneapi-2025.2.0/hdf5-1.14.6-zkruqq7/include conftest.c >&5
configure:61304: $? = 0
configure:61335: result: yes
configure:61340: checking for H5Fopen in -lhdf5
configure:61369: mpicc -o conftest -Werror=recommended-option -I/flare/ai4ns-composites/packages/moose/scripts/../petsc/include -I/flare/ai4ns-composites/packages/moose/scripts/../petsc/arch-moose/include -I/flare/ai4ns-composites/packages/moose/petsc/arch-moose/include -I/flare/ai4ns-composites/packages/moose/petsc/include -I/flare/ai4ns-composites/packages/moose/petsc/arch-moose/include -I/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/oneapi-2025.2.0/hdf5-1.14.6-zkruqq7/include -L/lib -lhdf5 -Wl,-rpath,/lib -Wl,-rpath,/flare/ai4ns-composites/packages/moose/petsc/arch-moose/lib -L/flare/ai4ns-composites/packages/moose/petsc/arch-moose/lib -Wl,-rpath,/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/oneapi-2025.2.0/hdf5-1.14.6-zkruqq7/lib -L/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/oneapi-2025.2.0/hdf5-1.14.6-zkruqq7/lib -Wl,-rpath,/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/oneapi-2025.2.0/mpich-develop-git.6037a7a-cym6jg6/lib -L/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/oneapi-2025.2.0/mpich-develop-git.6037a7a-cym6jg6/lib -Wl,-rpath,/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/hwloc-2.12.1-ioadcqu/lib -L/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/hwloc-2.12.1-ioadcqu/lib -Wl,-rpath,/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/libxml2-2.13.5-dhzcbk4/lib -L/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/libxml2-2.13.5-dhzcbk4/lib -Wl,-rpath,/opt/aurora/25.190.0/support/libraries/khronos/default/lib64 -L/opt/aurora/25.190.0/support/libraries/khronos/default/lib64 -Wl,-rpath,/opt/aurora/25.190.0/oneapi/ishmem/latest/lib -L/opt/aurora/25.190.0/oneapi/ishmem/latest/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/pti/latest/lib -L/opt/aurora/25.190.0/oneapi/pti/latest/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/tcm/latest/lib -L/opt/aurora/25.190.0/oneapi/tcm/latest/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/umf/latest/lib -L/opt/aurora/25.190.0/oneapi/umf/latest/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/ipp/latest/lib -L/opt/aurora/25.190.0/oneapi/ipp/latest/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/ippcp/latest/lib -L/opt/aurora/25.190.0/oneapi/ippcp/latest/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/ccl/latest/lib -L/opt/aurora/25.190.0/oneapi/ccl/latest/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/dal/latest/lib -L/opt/aurora/25.190.0/oneapi/dal/latest/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/dnnl/latest/lib -L/opt/aurora/25.190.0/oneapi/dnnl/latest/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/tbb/latest/lib/intel64/gcc4.8 -L/opt/aurora/25.190.0/oneapi/tbb/latest/lib/intel64/gcc4.8 -Wl,-rpath,/opt/aurora/25.190.0/oneapi/mkl/latest/lib -L/opt/aurora/25.190.0/oneapi/mkl/latest/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/compiler/latest/lib -L/opt/aurora/25.190.0/oneapi/compiler/latest/lib -Wl,-rpath,/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/gcc-13.3.0-4enwbrb/lib64 -L/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/gcc-13.3.0-4enwbrb/lib64 -Wl,-rpath,/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/gcc-13.3.0-4enwbrb/lib -L/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/gcc-13.3.0-4enwbrb/lib -Wl,-rpath,/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/mpc-1.3.1-rdrlvsl/lib -L/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/mpc-1.3.1-rdrlvsl/lib -Wl,-rpath,/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/mpfr-4.2.1-gkcdl5w/lib -L/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/mpfr-4.2.1-gkcdl5w/lib -Wl,-rpath,/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/gmp-6.3.0-mtokfaw/lib -L/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/gmp-6.3.0-mtokfaw/lib -Wl,-rpath,/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/gcc-runtime-13.3.0-ghotoln/lib -L/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/gcc-runtime-13.3.0-ghotoln/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/compiler/2025.2/lib -L/opt/aurora/25.190.0/oneapi/compiler/2025.2/lib -Wl,-rpath,/opt/aurora/25.190.0/oneapi/compiler/2025.2/lib/clang/21/lib/x86_64-unknown-linux-gnu -L/opt/aurora/25.190.0/oneapi/compiler/2025.2/lib/clang/21/lib/x86_64-unknown-linux-gnu -Wl,-rpath,/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/gcc-13.3.0-4enwbrb/lib/gcc/x86_64-pc-linux-gnu/13.3.0 -L/opt/aurora/25.190.0/spack/unified/0.10.1/install/linux-sles15-x86_64/gcc-13.3.0/gcc-13.3.0-4enwbrb/lib/gcc/x86_64-pc-linux-gnu/13.3.0 -lpetsc -lHYPRE -ldmumps -lmumps_common -lpord -lpthread -lscalapack -lsuperlu_dist -lkokkoskernels -lkokkoscontainers -lkokkoscore -lkokkossimd -lflapack -lfblas -lptesmumps -lptscotchparmetisv3 -lptscotch -lptscotcherr -lesmumps -lscotch -lscotcherr -lpthread -lhdf5_hl -lhdf5 -lparmetis -lmetis -lceed -lX11 -lmpifort -lmpi -lifport -lifcoremt_pic -limf -lsvml -lm -lipgo -lirc -lpthread -lgcc_s -lirc_s -ldl -lstdc++ conftest.c -lhdf5 >&5
/usr/bin/ld: /tmp/icx-c2a07f433e/conftest-53cb38.o: in function `main':
conftest.c:(.text+0x0): multiple definition of `main'; /opt/aurora/25.190.0/oneapi/compiler/latest/lib/libifcoremt_pic.a(for_main.o):for_main.c:(.text+0x0): first defined here
/usr/bin/ld: /opt/aurora/25.190.0/oneapi/compiler/latest/lib/libifcoremt_pic.a(for_main.o): in function `main':
for_main.c:(.text+0x28): undefined reference to `MAIN__'
icx: error: linker command failed with exit code 1 (use -v to see invocation)
and ultimately
configure:61412: optional HDF5 library not found, or does not meet version requirements
configure:61445: result: <<< HDF5 support not found or disabled >>>
and since hdf5 is disabled, netcdf-4 is disabled.
Here's my understanding of the error: our AURORA HPC uses intel's compiler. Intel's fortran compiler injects its own main (a stub that calls MAIN__), assuming our true entry point is a Fortran program (though apparently the conftest isn't).
Can we somehow patch the configure.ac so that the HDF5 test does not link PETSc libs or Fortran libs?
Metadata
Metadata
Assignees
Labels
No labels