# # Build machine: hpcbuild02 # # Build instructions and download sites for supporting software were found # in the INSTALL.html that comes with the distribution. # # Downloads: https://www.earthsystemgrid.org # newgrp hpcapps #ml gcc/5.2.0 ml gcc/4.9.2 setenv INSTDIR $HPCAPPDIR/ncl_ncarg/6.3.0 setenv SRCDIR /hpc/tstapps/src/ncl setenv NCARG /hpc/tstapps/src/ncl/ncl_ncarg-6.3.0 # # Create the install directory structure # mkdir -p $INSTDIR mkdir $INSTDIR/bin mkdir $INSTDIR/lib mkdir $INSTDIR/include mkdir $INSTDIR/share mkdir -p $INSTDIR/man/man1 # # Build prerequisite libraries. # # jpeg-6b # cd $SRCDIR/jpeg-6b dos2unix configure ./configure --prefix=$INSTDIR make all install |& tee make.all.log make install-lib |& tee make.lib.log make install-headers |& tee make.headers.log # # zlib-1.2.8 # cd $SRCDIR/zlib-1.2.8 ./configure --prefix=$INSTDIR make all install | & tee make.log # # libpng-1.2.52 # cd $SRCDIR/libpng-1.2.52 ./configure --with-pic --prefix=$INSTDIR make all install |& tee make.log # # pkg-config-0.28 # cd $SRCDIR/pkg-config-0.28/ ./configure --prefix=$INSTDIR make all install |& tee make.log # # Set environment variables to use pkg-config # setenv PKG_CONFIG_PATH $INSTDIR/lib/pkgconfig setenv LD_LIBRARY_PATH $INSTDIR/lib:$LD_LIBRARY_PATH setenv PATH $INSTDIR/bin:$PATH # # FreeType 2.5.5 # cd $SRCDIR/freetype-2.5.5 ./configure --prefix=$INSTDIR make all install |& tee make.log cd $INSTDIR/include ln -s freetype2 freetype # # pixman-0.32.6 # cd $SRCDIR/pixman-0.32.6 ./configure --prefix=$INSTDIR make all install |& tee make.log # # cairo-1.12.18 # cd $SRCDIR/cairo-1.12.18 ./configure --prefix=$INSTDIR make all install |& tee make.log # # szip-2.1 # cd $SRCDIR/szip-2.1 ./configure --prefix=$INSTDIR make all install |& tee make.log # # HDF-5- 1.8.12 # cd $SRCDIR/hdf5-1.8.12 ./configure --with-zlib=$INSTDIR --with-szlib=$INSTDIR --prefix=$INSTDIR make all install |& tee make.log # # libcurl-7.40.0 # cd $SRCDIR/curl-7.40.0 ./configure --prefix=$INSTDIR --with-zlib=$INSTDIR --with-pic make all install |& tee make.log # # netcdf-c-4.3.3.1 # cd $SRCDIR/netcdf-c-4.3.3.1 setenv CPPFLAGS "-I$INSTDIR/include" setenv LDFLAGS "-L$INSTDIR/lib" ./configure --with-hdf5=$INSTDIR --with-zlib=$INSTDIR --with-szlib=$INSTDIR --prefix=$INSTDIR --enable-netcdf-4 make all install |& tee make.log make check # # HDF-4.2.11 # cd $SRCDIR/hdf-4.2.11 ./configure --prefix=$INSTDIR --with-zlib=$INSTDIR --with-jpeg=$INSTDIR --disable-netcdf make all install |& tee make.log # # Build the Makefile for our systems. # cd $SRCDIR/ncl_ncarg-6.3.0/config cp LINUX LINUX.orig cp LINUX.64.GNU LINUX # # Edit LINUX # Change # #define CtoFLibraries -lgfortran # #define CtoFLibrariesUser -lgfortran # to # #define CtoFLibraries -L${HPCAPPDIR}/gcc/4.9.2/lib64 -lgfortran # #define CtoFLibrariesUser -L${HPCAPPDIR}/gcc/4.9.2/lib64 -lgfortran cp Template Template.orig # # Edit Template # Change # #define LexLibrary -ll # To # #define LexLibrary -lfl # # Configure the build for the software built above. # make -f Makefile.ini ./ymake -config `pwd` cd $SRCDIR/ncl_ncarg-6.3.0 ./Configure -v # # Below are the questions asked by the Configure script. # The respsonses entered are below each question. # #########################################################3######## # Build NCL (y)? # y # Parent installation directory : /usr/local/ncarg # /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0 # System temp space directory : /tmp # /tmp # Build NetCDF4 feature support (optional)? (y) # y # Also build HDF4 support (optional) into raster library? (y) # y # Did you build HDF4 with szip support? (n) # y # Build Triangle support (optional) into NCL (y) # n # If you are using NetCDF V4.x, did you enable NetCDF-4 support (y) # y # Did you build NetCDF with OPeNDAP support (y)? # y # Build GDAL support (optional) into NCL? (n) # n # Build Udunits-2 support (optional) into NCL (y) # n # Build Vis5d+ support (optional) into NCL (n) # n # Build HDF-EOS2 support (optional) into NCL (y) # n # Build HDF5 support (optional) into NCL (y) # y # Build HDF-EOS5 support (optional) into NCL (y) # n # Build GRIB2 support (optional) into NCL (y) # n # Enter local library search path(s) : /usr/X11R6/lib64 # /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/lib # Enter local include search path(s) : /usr/X11R6/include # /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/freetype2 # setenv GCC_LIB_INC ${HPCAPPDIR}/gcc/4.9.2/lib/gcc/x86_64-linux-gnu/4.9.2/include setenv GCC_LIB_FIXINC ${HPCAPPDIR}/gcc/4.9.2/lib/gcc/x86_64-linux-gnu/4.9.2/include-fixed ######################################################################### # # The "make Makefiles" does converts "x86_64" in the path to "1". # Edit $NCARG/config/Site.local # Change # #define YmakeRoot /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0 # #define LibSearch -L/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/lib # #define IncSearch -I/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include -I/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/freetype2 # To # #define YmakeRoot ${HPCAPPDIR}/ncl_ncarg/6.3.0 # #define LibSearch -L${HPCAPPDIR}/ncl_ncarg/6.3.0/lib # #define IncSearch -I${GCC_LIB_INC} -I{GCC_LIB_FIXINC} -I${HPCAPPDIR}/ncl_ncarg/6.3.0/include -I${HPCAPPDIR}/ncl_ncarg/6.3.0/include/freetype2 ######################################################################### cd $NCARG # # Make the top level Makefile and verify that the paths look right. # make me # # Build the whole thing. # make Everything |& tee make.log ######################################################################### # Every user of NCL and NCAR Graphics will need to set # the following environment variable: # # setenv NCARG_ROOT /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0 #########################################################################