Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

WPS intel dmpar compilation error

dmoreno

New member
Hi all,

After WRF 4.5.1 compiled successfully, went to compile WPS 4.5 with option 19. Linux x86_64, Intel compiler (dmpar).

However, I get the following error:

ld: warning: libnetcdf.so.7, needed by /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so, may conflict with libnetcdf.so.11
/opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so: undefined reference to `H5Pset_dxpl_mpio'
/opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so: undefined reference to `H5Pset_fapl_mpio'
make[1]: [geogrid.exe] Error 1 (ignored)

configure.wps attached to this post.

Appreciate any help, thanks!!
 

Attachments

  • configure.wps
    2.2 KB · Views: 6
Hi all,

After WRF 4.5.1 compiled successfully, went to compile WPS 4.5 with option 19. Linux x86_64, Intel compiler (dmpar).

However, I get the following error:

ld: warning: libnetcdf.so.7, needed by /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so, may conflict with libnetcdf.so.11
/opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so: undefined reference to `H5Pset_dxpl_mpio'
/opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so: undefined reference to `H5Pset_fapl_mpio'
make[1]: [geogrid.exe] Error 1 (ignored)

configure.wps attached to this post.

Appreciate any help, thanks!!
which version of the intel compilers are you using? 2023 and newer or the classic compilers (ifort/icc) intel 2022 and younger
 
ld: warning: libnetcdf.so.7, needed by /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so, may conflict with libnetcdf.so.11
/opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so: undefined reference to `H5Pset_dxpl_mpio'
/opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so: undefined reference to `H5Pset_fapl_mpio'
make[1]: [geogrid.exe] Error 1 (ignored)

Hi,
Can you attach your full WPS compile log, as well as the configure.wrf file and wrf compile log? Thanks!
 
Hi,
Can you attach your full WPS compile log, as well as the configure.wrf file and wrf compile log? Thanks!
Here they are
 

Attachments

  • compile_wps.log
    71.2 KB · Views: 9
  • compile_wrf.log
    861.1 KB · Views: 1
  • configure.wrf.txt
    23.4 KB · Views: 3
Thanks for sending those. I see that you're trying to compile WPS with the dmpar option. Unless you're planning to use very large domains (1000s x 1000s of grid points), it's not necessary to compile WPS for distributed memory processing. As long as that's not the case, can you try to compile WPS for serial computation and see if you still get errors? You'll need to first issue "clean -a" and then reconfigure and recompile WPS.
 
Thanks for sending those. I see that you're trying to compile WPS with the dmpar option. Unless you're planning to use very large domains (1000s x 1000s of grid points), it's not necessary to compile WPS for distributed memory processing. As long as that's not the case, can you try to compile WPS for serial computation and see if you still get errors? You'll need to first issue "clean -a" and then reconfigure and recompile WPS.
I was able to compile WPS in serial, but I do have a large domain so I would really like to compile WPS with dmpar. Any idea of why dmpar compilation is failing?
 
Okay, I understand. Before compiling WPS, did you log out of your terminal window so that your path settings (e.g., NETCDF, PATH, LD_LIBRARY_PATH) were no longer set? The error is specific to netCDF and HDF5. I assume you used HDF5 to build netCDF. Can you make sure that you have the path to your netcdf/bin directory in your PATH and that you have NETCDF set to the netcdf directory, and that you have the path to the netcdf/lib directory set in your LD_LIBRARY_PATH?
 
I didnt logged out of the shell, after WRF compiled I went directly for the WPS compile. Moreover, I have all the paths (netcdf, hdf5, szip, zlib, libpng, etc.) defined in my .bashrc...

And if the issue would be the paths, the serial compilation would also not be successful I guess...
 
Last edited:
I didnt logged out of the shell, after WRF compiled I went directly for the WPS compile. Moreover, I have all the paths (netcdf, hdf5, szip, zlib, libpng, etc.) defined in my .bashrc...

And if the issue would be the paths, the serial compilation would also not be successful I guess...
Do you have more than one WRF installed on this system?
 
@dmoreno
In your configure.wps file, you have the following lines:

Code:
DM_FC               = mpiifort
DM_CC               = mpiicc

Can you go to your WPS directory, issue a 'clean -a,' then reconfigure. After that, open your configure.wps file and modify those two lines to:

Code:
DM_FC               = mpif90
DM_CC               = mpicc

(note you had 2 "i's" in your DM_CC setting - you need to remove one). Then save the configure.wps file and try to compile again. If it still fails, please send the new configure.wps and new wps compile log. Thanks!
 
@dmoreno
In your configure.wps file, you have the following lines:

Code:
DM_FC               = mpiifort
DM_CC               = mpiicc

Can you go to your WPS directory, issue a 'clean -a,' then reconfigure. After that, open your configure.wps file and modify those two lines to:

Code:
DM_FC               = mpif90
DM_CC               = mpicc

(note you had 2 "i's" in your DM_CC setting - you need to remove one). Then save the configure.wps file and try to compile again. If it still fails, please send the new configure.wps and new wps compile log. Thanks!
I tried that but I get compilation errors from start, which is not surprising since the changes suggested use gfortran and my config options are with intel compilers. WRF was compiled with Intel compilers also.

As for the extra "i" in mpiicc, it needs to have 2 "i"s because the Intell C compiler executable is called "mpiicc" and not "mpicc".

Find attached the configure.wps and compile.log
 

Attachments

  • compile.log
    153.6 KB · Views: 3
  • configure.wps
    3.3 KB · Views: 4
Thanks for doing that, and apologies for the delay in response. I'm going to reach out to one of our software engineers to see if they have any thoughts about this. Hopefully they will be able to respond in the next few days. Thank you for your continued patience.
 
I've not been able to reproduce this with GNU or Intel compilations - leading me to suspect that it is probably not due to the build itself failing to link HDF5. My tests made sure to include DM + parallel netCDF with HDF5 compression. Likewise, while H5Pset_dxpl_mpio
is undefined in the libnetcdf.so file, it should be linking just fine without using that symbol.

I suspect it has to due with some weird library linking/finding within your environment from the first lines of error :
ld: warning: libnetcdf.so.7, needed by /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so, may conflict with libnetcdf.so.11

libnetcdf should not require libnetcdf, and likewise should not be pulling in two different versions. Do you know how /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so was compiled?
 
Thanks for doing that, and apologies for the delay in response. I'm going to reach out to one of our software engineers to see if they have any thoughts about this. Hopefully they will be able to respond in the next few days. Thank you for your continued patience.
I've not been able to reproduce this with GNU or Intel compilations - leading me to suspect that it is probably not due to the build itself failing to link HDF5. My tests made sure to include DM + parallel netCDF with HDF5 compression. Likewise, while H5Pset_dxpl_mpio
is undefined in the libnetcdf.so file, it should be linking just fine without using that symbol.

I suspect it has to due with some weird library linking/finding within your environment from the first lines of error :
ld: warning: libnetcdf.so.7, needed by /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so, may conflict with libnetcdf.so.11

libnetcdf should not require libnetcdf, and likewise should not be pulling in two different versions. Do you know how /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so was compiled?

I have seen this error before but only when the intel compilers are not sourced before building and or running any files that were compiled with intel compilers.
 
I've not been able to reproduce this with GNU or Intel compilations - leading me to suspect that it is probably not due to the build itself failing to link HDF5. My tests made sure to include DM + parallel netCDF with HDF5 compression. Likewise, while H5Pset_dxpl_mpio
is undefined in the libnetcdf.so file, it should be linking just fine without using that symbol.

I suspect it has to due with some weird library linking/finding within your environment from the first lines of error :
ld: warning: libnetcdf.so.7, needed by /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so, may conflict with libnetcdf.so.11

libnetcdf should not require libnetcdf, and likewise should not be pulling in two different versions. Do you know how /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so was compiled?
Hi, I have that warning also in successful serial builds, so it's not because of that that the parallel builds fail I guess...
 
I suspect this has to do with some issue in the netCDF library as the next lines :
Code:
ld: warning: libnetcdf.so.7, needed by /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so, may conflict with libnetcdf.so.11
/opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so: undefined reference to `H5Pset_dxpl_mpio'
/opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so: undefined reference to `H5Pset_fapl_mpio'

Seem to go together. What are the files under /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib?

Also, if you're able to, I would be interested in seeing the output of the command :
ldd /opt/cesam/utils/netcdf_PARALLEL_INTEL/lib/libnetcdf.so
as well as
nc-config --all or the nc-config located / associated with the netcdf_PARALLEL_INTEL/ libraries
 
Top