NOAA-EMC / hpc-stack

Create a software stack for HPC's
GNU Lesser General Public License v2.1
30 stars 36 forks source link

Define JASPER_LIB PNG_LIB Z_LIB #177

Closed YaliMao-NOAA closed 3 years ago

YaliMao-NOAA commented 3 years ago

The following environment variables are not defined in hpc-stack modules as in the current modules. JASPER_LIB in jasper module PNG_LIB in png module Z_LIB in zlib module Can they be added?

aerorahul commented 3 years ago

These are not standard variables in a typical module file. We do however define these standard variables:

setenv("JASPER_INCLUDES", pathJoin(base,"include"))
setenv("JASPER_LIBRARIES", pathJoin(base,"${CMAKE_INSTALL_LIBDIR}"))
setenv("PNG_INCLUDES", pathJoin(base,"include"))
setenv("PNG_LIBRARIES", pathJoin(base,"lib"))
setenv("ZLIB_INCLUDES", pathJoin(base,"include"))
setenv("ZLIB_LIBRARIES", pathJoin(base,"lib"))

Is it possible to use these variables so we don't work towards a collective reduction in entropy? Thanks!

climbfuji commented 3 years ago

These are not standard variables in a typical module file. We do however define these standard variables:

setenv("JASPER_INCLUDES", pathJoin(base,"include"))
setenv("JASPER_LIBRARIES", pathJoin(base,"${CMAKE_INSTALL_LIBDIR}"))
setenv("PNG_INCLUDES", pathJoin(base,"include"))
setenv("PNG_LIBRARIES", pathJoin(base,"lib"))
setenv("ZLIB_INCLUDES", pathJoin(base,"include"))
setenv("ZLIB_LIBRARIES", pathJoin(base,"lib"))

Is it possible to use these variables so we don't work towards a collective reduction in entropy? Thanks!

Are you trying to break the second law of thermodynamics? ;-)

YaliMao-NOAA commented 3 years ago

I am no sure why _LIB is not a standard variable in a typical module file after I went through all hpc-stack modules. Except for 4 modules jasper, jpeg, png and zlib, all other modules have one of the following features: 1) A module doesn't have a library, or, 2) A module defines _LIBRARIES if there are multiple libraries, or, 3) A module defines _LIB or even more than one _LIB

These 4 modules jasper, jpeg, png and zlib do not have the features 1) 2) as above, so I am not sure why they can't have feature 3), especially all 4 modules have only one library. BTW, PNG_LIBRARIES doesn't contain a library, the lib is at $PNG_ROOT as $PNG_ROOT/lib64/libpng.a

The other reason I brought up this issue is because the 4 non-hpc modules have _LIB defined.

The following are all modules that I checked for hpc-stack: /gpfs/dell2/usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/modulefiles/compiler/ips/18.0.1.163 bacio $BACIO_LIB4 $BACIO_LIB8 bufr $BUFR_LIB4 $BUFR_LIB8 BUFR_LIBd crtm $CRTM_LIB g2 $G2_LIB4 $G2_LIBd g2c $G2C_LIB g2tmpl $G2TMPL_LIB gfsio $GFSIO_LIB grib_util (no libraries) hpc-impi (no libraries) ip $IP_LIB4 $IP_LIB8 $IP_LIBd ip2 $IP2_LIB4 $IP2_LIB8 $IP2_LIBd jasper $JASPER_LIBRARIES/libjasper.a jpeg $JPEG_LIBRARIES/libjpeg.a landsfcutil $LANDSFCUTIL_LIB4 $LANDSFCUTIL_LIBd png $PNG_ROOT/lib64/libpng.a prod_util (no libraries) sfcio $SFCIO_LIB sigio $SIGIO_LIB sp $SP_LIB4 $SP_LIB8 $SP_LIBd szip $SZIP_LIBRARIES (multi libs) udunits $UDUNITS2_LIBRARIES (multi libs) w3nco $W3NCO_LIB4 $W3NCO_LIB8 $W3NCO_LIBd zlib $ZLIB_LIBRARIES/libz.a

/gpfs/dell2/usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/modulefiles/mpi/ips/18.0.1.163/impi/18.0.1 atlas (no libraries) eckit (no libraries) esmf $ESMF_LIB fckit (no libraries) hdf5 $HDF5_LIBRARIES (multi libs) nccmp (no libraries) nceppost $POST_LIB ncio $NCIO_LIB nemsio $NEMSIO_LIB nemsiogfs $NEMSIOGFS_LIB netcdf $NetCDF_LIBRARIES (multi libs) pio $PIO_LIBRARIES (multi libs) upp $POST_LIB w3emc $W3EMC_LIB4 $W3EMC_LIB8 $W3EMC_LIBd wgrib2 $WGRIB_LIB wrf_io $WRF_IO_LIB

YaliMao-NOAA commented 3 years ago

I will follow new rules based on Rahul's instructions through email communications.