ADIOS2 icon indicating copy to clipboard operation
ADIOS2 copied to clipboard

Unable to install with GCC 11.4.0

Open princesswinnie1122 opened this issue 1 year ago • 3 comments

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/$ADIOS
    

    Result log: cmake_configure.log

  • Installation (where I'm stuck)

    make -j
    

    Result log: make_build.log

  • Dependencies I've built (all with openmpi also): image

  • 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
    

princesswinnie1122 avatar May 22 '24 06:05 princesswinnie1122

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.

eisenhauer avatar May 22 '24 11:05 eisenhauer

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?

anagainaru avatar May 22 '24 13:05 anagainaru

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");
      |                          ^~~~~~~~~~~~~~~~~~~~~~

pnorbert avatar Jun 24 '24 15:06 pnorbert

Closing this pending receipt of further information...

eisenhauer avatar Jul 13 '24 11:07 eisenhauer