Error building PNetCDF 1.12.2 with NVHPC 22.1 under CentOS 8

Carl Ponder cponder at nvidia.com
Thu Jan 27 16:29:28 CST 2022


I can get around the problem by *NOT* setting the include-paths to the 
NVHPC compiler:

    # export CPATH+=:$PGI/include
    # export  C_INCLUDE_PATH+=:$PGI/include
    # export    INCLUDE_PATH+=:$PGI/include

I can work with this, but haven't had to do it with the other libs that 
use the CC/MPICC etc. compiler settings for everything.
Do you still need to see the *config.log*?

------------------------------------------------------------------------
Subject: 	Re: Error building PNetCDF 1.12.2 with NVHPC 22.1 under CentOS 8
Date: 	Thu, 27 Jan 2022 22:16:25 +0000
From: 	Wei-Keng Liao <wkliao at northwestern.edu>
To: 	Carl Ponder <cponder at nvidia.com>
CC: 	parallel-netcdf at mcs.anl.gov <parallel-netcdf at mcs.anl.gov>



External email: Use caution opening links or attachments


Hi, Carl

Please send me file "config.log". I will take a look.

Wei-keng


> On Jan 27, 2022, at 3:42 PM, Carl Ponder<cponder at nvidia.com>  wrote:
>
> I'm getting this error:
> /bin/gcc -I../../../src/utils/ncvalidator -o cdfdiff cdfdiff.c
> In file included from /usr/include/stdlib.h:55,
>                   from /home/cponder/WRF/PGI/100.NVHPC/Linux_x86_64/21.11/compilers/include/stdlib.h:13,
>                   from cdfdiff.c:19:
> /home/cponder/WRF/PGI/100.NVHPC/Linux_x86_64/21.11/compilers/include/bits/floatn.h:60:17: error: two or more data types in declaration specifiers
>     typedef float _Float32;
>                   ^~~~~~~~
> /home/cponder/WRF/PGI/100.NVHPC/Linux_x86_64/21.11/compilers/include/bits/floatn.h:63:18: error: two or more data types in declaration specifiers
>     typedef double _Float64;
>                    ^~~~~~~~
> /home/cponder/WRF/PGI/100.NVHPC/Linux_x86_64/21.11/compilers/include/bits/floatn.h:74:18: error: two or more data types in declaration specifiers
>     typedef double _Float32x;
>                    ^~~~~~~~~
> /home/cponder/WRF/PGI/100.NVHPC/Linux_x86_64/21.11/compilers/include/bits/floatn.h:78:25: error: two or more data types in declaration specifiers
>       typedef long double _Float64x;
>                           ^~~~~~~~~
> make[3]: *** [Makefile:847: cdfdiff] Error 1
> make[3]: Leaving directory '/home/cponder/WRF/PGI/A.106.PNetCDF/distro/src/utils/ncmpidiff'
> make[2]: *** [Makefile:545: all-recursive] Error 1
> make[2]: Leaving directory '/home/cponder/WRF/PGI/A.106.PNetCDF/distro/src/utils'
> make[1]: *** [Makefile:476: all-recursive] Error 1
> make[1]: Leaving directory '/home/cponder/WRF/PGI/A.106.PNetCDF/distro/src'
> make: *** [Makefile:533: all-recursive] Error 1
> I believe the problem is that it's trying to use the system-default gcc here
> checking for mpiexec... /home/cponder/WRF/PGI/105.OpenMPI/bin/mpiexec
> checking for gcc... /bin/gcc
> checking C compiler for serial utility programs... /bin/gcc
> which is incompatible with all the NVHPC_specific paths that I'm setting for the overall build:
> export CC=`which pgcc`
> export CXX=`which pgc++`
> export F77=`which pgf77`
> export F90=`which pgf90`
> export FC=`which pgfortran`
>
> export MPICC=`which mpicc`
> export MPICXX=`which mpicxx`
> export MPIF77=`which mpif77`
> export MPIF90=`which mpif90`
>
> export   CFLAGS="-fPIC -m64 -tp=px"
> export CXXFLAGS="-fPIC -m64 -tp=px"
> export  FCFLAGS="-fPIC -m64 -tp=px"
>
> export LDFLAGS+=" -L$PGI/cuda/lib64 -lnvidia-ml"
> I'm guessing that the old compilers & old OS levels didn't enable these types so there was no collision during the compilation.
> Is there a way to override the gcc default for the utilities? I don't see any such setting in the configure --help output.
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/parallel-netcdf/attachments/20220127/18d92f71/attachment-0001.html>


More information about the parallel-netcdf mailing list