Path oddity in PNetCDF build/configure

Wei-Keng Liao wkliao at northwestern.edu
Sun Oct 24 18:09:30 CDT 2021


Hi, Carl

I notice that the following configure help string from PnetCDF 1.12.2:
  --with-mpi=/path/to/implementation
                          The installation prefix path for MPI implementation.

This --with-mpi option expects an argument. I suggest you to use
"--with-mpi=/usr/local" or not use it at all. Let me know if this works for you.

FYI. I added a check in configure.ac for this case. See
https://github.com/Parallel-NetCDF/PnetCDF/commit/21a91c5783bcd05456ec576a5599d3485a164caf

Thanks for reporting this bug.

Wei-keng

> On Oct 24, 2021, at 4:27 PM, Wei-Keng Liao <wkliao at northwestern.edu> wrote:
> 
> I checked the configure command line used.
> While debugging this issue, I suggest you to remove
> "--with-mpi --enable-large-single-req" from the configure command.
> 
> Option --with-mpi was designed to let users to provide the
> path of MPI installation, e.g. --with-mpi=/usr/local
> 
> Use option --enable-large-single-req is when the underlying
> MPI-IO supports reading and writing more than 2GiB in a
> single call (i.e. MPI_File_read and MPI_File_write call.)
> 
> Wei-keng
> 
>> On Oct 24, 2021, at 4:07 PM, Carl Ponder <cponder at nvidia.com> wrote:
>> 
>> 
>> I attached the config.log here, but it doesn't show the steps used in the mpiccchecking:
>> configure:4284: result: /usr/bin/sed -i''
>> configure:4682: checking mpicc under yes
>> configure:4689: result: no
>> configure:4772: error: 
>>    -----------------------------------------------------------------------
>>      Specified MPI C compiler "mpicc" cannot be found under yes
>>      PnetCDF requires a working MPI C compiler. Please specify the location
>>      of an MPI C compiler, either in the MPICC environment variable
>>      (not CC variable) or through --with-mpi configure flag. Abort.
>>    -----------------------------------------------------------------------
>> The command-line I used was
>> ./configure --prefix=/usr/local --enable-shared --with-mpi --enable-large-single-req 
>> 
>> Subject:	Re: Path oddity in PNetCDF build/configure
>> Date: 	Sun, 24 Oct 2021 19:22:06 +0000
>> From: 	Wei-Keng Liao <wkliao at northwestern.edu>
>> To: 	Carl Ponder <cponder at nvidia.com>
>> CC: 	Bruno Pagani <bruno.pagani at astrophysics.eu>, parallel-netcdf at lists.mcs.anl.gov <parallel-netcdf at lists.mcs.anl.gov>
>> 
>> 
>> External email: Use caution opening links or attachments               
>> 
>> Please let me know the configure command used.
>> 
>> Wei-keng 
>> 
>> Subject:	Re: Path oddity in PNetCDF build/configure
>> Date:	Sun, 24 Oct 2021 17:06:01 +0000
>> From:	Wei-Keng Liao <wkliao at northwestern.edu>
>> To:	Carl Ponder <cponder at nvidia.com>
>> CC:	parallel-netcdf at lists.mcs.anl.gov <parallel-netcdf at lists.mcs.anl.gov>
>> 
>> 
>> External email: Use caution opening links or attachments                     
>> 
>> Hi, Carl
>> 
>> Please send me the file config.log.
>> 
>> Wei-keng 
>> 
>>> On Oct 24, 2021, at 1:29 PM, Carl Ponder <cponder at nvidia.com> wrote:
>>> 
>>> 
>>> This is in a Dockerfile rather than my usual bash scripting.
>>> Here's the PATH being printed during the build
>>> Step 95/156 : RUN echo ${PATH}
>>>  ---> Running in 8586a4aef68a
>>> /usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin:/usr/local/cuda/bin:/usr/local/pgi/Linux_x86_64/21.9/compilers/bin
>>> And the mpicc location tests correctly:
>>> Step 95/155 : RUN which mpicc
>>>  ---> Running in e2161d554278
>>> /usr/local/bin/mpicc
>>> Subject: 	Re: Path oddity in PNetCDF build/configure
>>> Date: 	Sun, 24 Oct 2021 16:32:42 +0400
>>> From: 	Bruno Pagani <bruno.pagani at astrophysics.eu>
>>> To: 	Carl Ponder <cponder at nvidia.com>, Wei-keng Liao <wkliao at eecs.northwestern.edu>
>>> CC: 	parallel-netcdf at lists.mcs.anl.gov
>>> 
>>> 
>>> External email: Use caution opening links or attachments                             
>>> 
>>> How do you set PATH? Did you quote it? Seems somehow your path end up being yes, likely due to expansion of its previous value.
>>> 
>>> 
>>> Le 24 octobre 2021 16:30:03 GMT+04:00, Carl Ponder <cponder at nvidia.com> a écrit :
>>> When I build PNetCDF with MPICC=mpicc and mpicc on my $PATH, I see this during the configure phase:
>>> ENV PATH=${PATH}:/usr/local/bin
>>> ENV MPICC mpicc
>>> ...
>>> checking for sed handling option -i ... /usr/bin/sed -i''
>>> checking mpicc under yes... no
>>> configure: error: 
>>>    -----------------------------------------------------------------------
>>>      Specified MPI C compiler "mpicc" cannot be found under yes
>>>      PnetCDF requires a working MPI C compiler. Please specify the location
>>>      of an MPI C compiler, either in the MPICC environment variable
>>>      (not CC variable) or through --with-mpi configure flag. Abort.
>>>    -----------------------------------------------------------------------
>>> I can work around it by making the path absolute
>>> ENV MPICC /usr/local/bin/mpicc
>>> ...
>>> checking for sed handling option -i ... /usr/bin/sed -i''
>>> checking whether /usr/local/bin/mpicc exists and is executable... yes
>>> But, based on the first message, I'm thinking there's an incorrect path-search during the configure phase.
>>> This is with PNetCDF 1.12.2.
>> 
>> <config.log>
> 



More information about the parallel-netcdf mailing list