Unable to install with GCC 11.4.0
Hello, I'm installing ADIOS2 for LAMMPS...but kept on failing the installation process. Below are the details. Please let me know if I missing anything! Thanks a lot!
-
The compiler I use (source ~/.bashrc)
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.scteam06@head:~/lammps/build/ADIOS-2.8.0/build$ which mpicc /home/scteam06/openmpi/bin/mpicc -
Configuration:
C=mpicc CXX=mpicxx FC=mpifort \ cmake .. \ -DMPI_Fortran_COMPILER=mpifort \ -DCMAKE_Fortran_COMPILER=mpifort \ -DCMAKE_C_COMPILER=mpicc \ -DCMAKE_CXX_COMPILER=mpicxx \ -DCMAKE_CXX_FLAGS="-O3 -fpic" \ -DADIOS2_USE_MPI=ON \ -DADIOS2_USE_Endian_Reverse=ON \ -DADIOS2_USE_Fortran=ON \ -DADIOS2_RUN_INSTALL_TEST=OFF \ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ -DCMAKE_INSTALL_PREFIX=$BUILD/$ADIOSResult log: cmake_configure.log
-
Installation (where I'm stuck)
make -jResult log: make_build.log
-
Dependencies I've built (all with openmpi also):
-
How I set the paths:
export HDF5_DIR=/home/scteam06/lammps/opt/hdf5-1.8.18 export PNETCDF_DIR=/home/scteam06/lammps/opt/pnetcdf-1.12.3 export NETCDF_DIR=/home/scteam06/lammps/opt/netcdf-c-4.8.1 export NETCDF_FORTRAN_DIR=/home/scteam06/lammps/opt/netcdf-fortran-4.6.1 export PATH=$HDF5_DIR/bin:$PNETCDF_DIR/bin:$NETCDF_DIR/bin:$PATH export LD_LIBRARY_PATH=$HDF5_DIR/lib:$PNETCDF_DIR/lib:$NETCDF_DIR/lib:$LD_LIBRARY_PATH export C_INCLUDE_PATH=$HDF5_DIR/include:$PNETCDF_DIR/include:$NETCDF_DIR/include:$C_INCLUDE_PATH export CPLUS_INCLUDE_PATH=$HDF5_DIR/include:$PNETCDF_DIR/include:$NETCDF_DIR/include:$CPLUS_INCLUDE_PATH export LIBRARY_PATH=$HDF5_DIR/lib:$PNETCDF_DIR/lib:$NETCDF_DIR/lib:$LIBRARY_PATH
Certainly odd. It looks like when compilng the EVPath subproject the CMake-generated config.h file isn't being included (that's where IPCONFIG_ENVVAR_PREFIX should be defined). So maybe it's not being generated somehow, maybe the include path has something ahead of it so a different config.h is found, maybe something else. You mention the compiler, has this succeeded with other compiler versions? Seeing the output of "make VERBOSE=1" might be helpful as we'd see the compiler full command line.
I installed LAMMPS with ADIOS2 on Perlmutter not too long ago using gcc/11.2.0 and it worked (I have to check what other module I loaded). What system are you trying to build this on?
Is there any update on this issue?
In your build directory, what is the content of thirdparty/EVPath/EVPath/config.h
This file contains #define IPCONFIG_ENVVAR_PREFIX "ADIOS2_", and therefore it should be defined when compiling the EVPath source code, so I never see this error that you have. But I am not using gcc/11, only gcc/9, gcc/10 and gcc/12 versions.
/home/scteam06/lammps/build/ADIOS-2.8.0/thirdparty/EVPath/EVPath/ip_config.c: In function ‘get_self_ip_iface’:
/home/scteam06/lammps/build/ADIOS-2.8.0/thirdparty/EVPath/EVPath/ip_config.c:251:26: error: ‘IPCONFIG_ENVVAR_PREFIX’ undeclared (first use in this function)
251 | char *c = getenv(IPCONFIG_ENVVAR_PREFIX "LAST_RESORT_IP_ADDR");
| ^~~~~~~~~~~~~~~~~~~~~~
Closing this pending receipt of further information...