# source environment source ../env_6.0.0 # make dependency directory \rm -rf ${deps} mkdir ${deps} mkdir ${deps}/bin mkdir ${deps}/lib mkdir ${deps}/man mkdir ${deps}/man/man1 mkdir ${deps}/include mkdir ${deps}/share mkdir ${deps}/share/doc mkdir ${deps}/share/doc/udunits # build JPEG \rm -rf jpeg* wget http://google-desktop-for-linux-mirror.googlecode.com/files/jpeg-6b.tar.gz tar xvfz jpeg-6b.tar.gz cd jpeg/src ./configure --prefix=${deps} make all install install-lib install-headers cd - # build ZLIB \rm -rf zlib-1.2.5* wget http://zlib.net/zlib-1.2.5.tar.gz tar xvfz zlib-1.2.5.tar.gz cd zlib-1.2.5 ./configure --prefix=${deps} make all install cd - # UDUNITS 2.1.22 \rm -rf udunits-2.1.22* wget ftp://ftp.unidata.ucar.edu/pub/udunits/udunits-2.1.22.tar.gz tar xvfz udunits-2.1.22.tar.gz cd udunits-2.1.22 setenv PERL "" ./configure --prefix=${deps} make all install cd - # build szip-2.1 \rm -rf szip-2.1* wget http://www.hdfgroup.org/ftp/lib-external/szip/2.1/src/szip-2.1.tar.gz tar xvfz szip-2.1.tar.gz cd szip-2.1 ./configure --prefix=${deps} --disable-shared make all install cd - # build HDF5-1.8.5-patch1 \rm -rf hdf5-1.8.5-patch1* wget http://www.hdfgroup.org/ftp/HDF5/prev-releases/hdf5-1.8.5-patch1/src/hdf5-1.8.5-patch1.tar.gz tar xvfz hdf5-1.8.5-patch1.tar.gz cd hdf5-1.8.5-patch1 ./configure --with-zlib=${deps} --with-szlib=${deps} --prefix=${deps} --disable-shared make all install cd - # build libcurl 7.21.4 \rm -rf curl-7.21.4* wget http://curl.haxx.se/download/curl-7.21.4.tar.gz tar xvfz curl-7.21.4.tar.gz cd curl-7.21.4 ./configure --prefix=${deps} --with-zlib=${deps} --with-pic make all install cd - # build NetCDF-4.1.1 (with "classic" support, without OPeNDAP support) \rm -rf netcdf-4.1.1* wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.1.1.tar.gz tar xvfz netcdf-4.1.1.tar.gz cd netcdf-4.1.1 ./configure --with-hdf5=${deps} --with-zlib=${deps} --with-szlib=${deps} --with-curl=${deps} --prefix=${deps} --disable-f90 --enable-netcdf-4 --disable-dap CFLAGS="${CFLAGS} -I/usr/include" # hack ncgen/ncgen.h: remove line 141 # hack ncgen/main.c: remove "#ifdef HAVE_GETOPT_H" and corresponding "#endif" on line 6 and 8, respectively make all install cd - # build HDF-4 4.2.5 \rm -rf hdf-4.2.5* wget http://www.hdfgroup.org/ftp/HDF/HDF_Current/src/hdf-4.2.5.tar.gz tar xvfz hdf-4.2.5.tar.gz cd hdf-4.2.5 ./configure --prefix=${deps} --with-zlib=${deps} --with-szip=${deps} --with-jpeg=${deps} --includedir=${deps}/include/hdf --disable-netcdf make all install cd - # build jasper-1.900.1 \rm -rf jasper-1.900.1* wget http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-1.900.1.zip unzip jasper-1.900.1.zip cd jasper-1.900.1.zip ./configure --prefix=${deps} make all install cd - # build libpng-1.5.2 \rm -rf libpng-1.5.2* wget 'http://prdownloads.sourceforge.net/libpng/libpng-1.5.2.tar.gz?download' tar xvfz libpng-1.5.2.tar.gz cd libpng-1.5.2 ./configure --with-pic --disable-shared --prefix=${deps} make all install cd - # install g2clib-1.2.1 (patched version by NCL people) \rm -rf g2clib* wget http://www.ncl.ucar.edu/Download/files/g2clib_with_changes-1.2.1.tar.gz tar xvfz g2clib_with_changes-1.2.1.tar.gz cd g2clib-1.2.1-patches make all mv libgrib2c.a ${deps}/lib cp grib2.h ${deps}/include cd - # build proj.4 \rm -rf proj-4.7.0* wget http://download.osgeo.org/proj/proj-4.7.0.tar.gz tar xvfz proj-4.7.0.tar.gz cd proj-4.7.0 ./configure --prefix=${deps} --enable-static=yes --enable-shared=no # remove all // comments in src/pj_malloc.c make all install cd - # build expat 2.0.1 \rm -rf expat* wget http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz/download tar xvfz expat-2.0.1.tar.gz cd expat-2.0.1 ./configure --prefix=${deps} --enable-static=yes --enable-shared=no make all install cd - # build idn 1.19 \rm -rf libidn-1.19 wget http://ftp.gnu.org/gnu/libidn/libidn-1.19.tar.gz cd libidn-1.19 ./configure --prefix=${deps} --enable-static=yes --enable-shared=no make all install cd - # build gdal \rm -rf gdal-1.7.3* wget http://download.osgeo.org/gdal/gdal-1.7.3.tar.gz tar xvfz gdal-1.7.3.tar.gz cd gdal-1.7.3 ./configure --prefix=${deps} --with-static-proj4=${deps} --with-curl=${deps} --with-expat=${deps} --with-idn=${deps} make all install cd - # build HDF-EOS 2 2.17.v1 \rm -rf HDF-EOS2.17v1* hdfeos* wget ftp://edhs1.gsfc.nasa.gov/edhs/hdfeos/latest_release/HDF-EOS2.17v1.00.tar.Z tar xvfz HDF-EOS2.17v1.00.tar.Z cd hdfeos setenv LINUX_BRAND linux64 mv lib/linux64/libhdfeos.a ${deps}/lib cp include/*.h ${deps}/include unsetenv LINUX_BRAND cd - cd hdfeos/gctp/src cp makelinux64 makefile # edit makefile and set "LIBDIR = /project/s83/olifu/ncl/deps_6.0.0/lib" cp ../include/*.h . make cd - # build HDF-EOS 5 1.13 \rm -rf HDF-EOS5.1.13* hdfeos5* wget ftp://edhs1.gsfc.nasa.gov/edhs/hdfeos5/latest_release/HDF-EOS5.1.13.tar.Z tar xvfz HDF-EOS5.1.13.tar.Z cd hdfeos5 ./configure CC=${deps}/bin/h5cc --with-hdf5=${deps} --with-zlib=${deps} --with-szlib=${deps} --prefix=${deps} make all install cp include/HE5_GctpFunc.h include/HE5_HdfEosDef.h ${deps}/include cd - # build pkg-config \rm -rf pkg-config-0.25* wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.25.tar.gz tar xvfz pkg-config-0.25.tar.gz cd pkg-config-0.25 ./configure --prefix=${deps} make all install cd - # build fontconfig 2.8.0 \rm -rf fontconfig-2.8.0* wget http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.8.0.tar.gz tar xvfz fontconfig-2.8.0.tar.gz cd fontconfig-2.8.0 ./configure --prefix=${deps} make all install cd - # build FreeType 2.4.4 \rm -rf freetype-2.4.4* wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.4.tar.gz tar xvfz freetype-2.4.4.tar.gz cd freetype-2.4.4 ./configure --prefix=${deps} make all install cd - # build pixman 0.20.2 \rm -rf pixman-0.20.2* wget http://cairographics.org/releases/pixman-0.20.2.tar.gz tar xvfz pixman-0.20.2.tar.gz cd pixman-0.20.2 ./configure --prefix=${deps} make all install cd - # build cairo 1.10.2 \rm -rf cairo-1.10.2* wget http://cairographics.org/releases/cairo-1.10.2.tar.gz tar xvfz cairo-1.10.2.tar.gz cd cairo-1.10.2 ./configure --prefix=${deps} make all install cd - # get triangle software \rm -rf triangle* mkdir triangle cd triangle wget http://www.netlib.org/voronoi/triangle.zip unzip triangle.zip cd - # build Vis5D+ software \rm -rf vis5d+-1.3.0* wget http://sourceforge.net/projects/vis5d/files/vis5d/vis5d%2B-1.3.0-beta/vis5d%2B-1.3.0-beta.tar.gz/download tar xvfz vis5d+-1.3.0-beta.tar.gz cd vis5d+-1.3.0-beta ./configure --prefix=${deps} --with-netcdf=${deps}/lib/libnetcdf.a # fix the following bug in call to IDATE # vi util/kludge.f # INTEGER TARRAY(3) # ... # CALL IDATE(TARRAY) # MON=TARRAY(1) # IDAY=TARRAY(2) # IYEAR=TARRAY(3) make all install cd - # build NCL 6.0.0 \rm -rf ncl_ncarg-6.0.0 tar xvfz ncl_ncarg-6.0.0.tar.gz # copy triangle software into NCL source tree cp triangle/triangle.c triangle/triangle.h ncl_ncarg-6.0.0/ni/src/lib/hlu/ # set location of compile setenv NCARG /project/s83/olifu/ncl/compile_6.0.0/ncl_ncarg-6.0.0 # customize build environment cd $NCARG/config make -f Makefile.ini ./ymake -config `pwd` grep SYSTEM_INCLUDE Makefile vi LINUX # HdfDefines -DLINUX64 # ArchRecLibSearch -L/usr/X11R6/lib64 # run configure script cd $NCARG ./Configure -v make Info > Info.out # BUGFIX: http://www.ncl.ucar.edu/Support/install_archives/2010/0038.html # vi $NCARG/ncarg2d/src/libncarg/ezmap/mapngb.c # add the following line after "#include " # #define int_p_NULL (int *)NULL # start the build process make Everything |& tee -a make-output