...
Initial Pre-Requisites
No Format |
---|
Environment: OS = RHEL 7.6 with intelParallelStudio2019update5
Initial Pre-requisites
• Subversion client
Available on the cluster
• GNU Autotools
>>>>>
Already installed Development Tools
rpm -qa|grep -i auto
autofs-5.0.7-99.el7.x86_64
autoconf-2.69-11.el7.noarch
automake-1.13.4-3.el7.noarch
libsss_autofs-1.16.2-13.el7_6.8.x86_64
autogen-libopts-5.18-5.el7.x86_64
>>>>
• GNU Libtool.
rpm -qa|grep -i libtool
libtool-2.4.2-22.el7_3.x86_64
libtool-ltdl-2.4.2-22.el7_3.x86_64
We also have libtool, libtool-ltdl and libtool-ltdl-devel
• GNU C++ compiler (use Package Manager), version 3.4.6.
Alternative: Intel C++ compiler, version 11.1 or higher.
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
• expat-devel
rpm -qa|grep expat
expat-2.1.0-10.el7_3.x86_64
expat-devel-2.1.0-10.el7_3.x86_64
• GNU Fortran compiler 4.9.1.
version 4.8.5 20150623
• Mpich, version 3.1.2 or higher
rpm -qa|grep mpich
mpich-3.2-devel-3.2-2.el7.x86_64
mpich-3.2-3.2-2.el7.x86_64
• Lex & Yacc
rpm -qa|egrep "flex|bison"
flex-devel-2.5.37-6.el7.x86_64
bison-3.0.4-2.el7.x86_64
bison-devel-3.0.4-2.el7.x86_64
flex-2.5.37-6.el7.x86_64
• OpenSSL.
rpm -qa|grep -i openssl
pyOpenSSL-0.13.1-4.el7.x86_64
perl-Crypt-OpenSSL-RSA-0.28-7.el7.x86_64
openssl-libs-1.0.2k-16.el7_6.1.x86_64
openssl-devel-1.0.2k-16.el7_6.1.x86_64
perl-Crypt-OpenSSL-Bignum-0.04-18.el7.x86_64
perl-Crypt-OpenSSL-Random-0.04-21.el7.x86_64
openssl-1.0.2k-16.el7_6.1.x86_64
• "readline-devel" (RedHat/Fedora)
rpm -qa|grep readline
readline-devel-6.2-10.el7.x86_64
readline-6.2-10.el7.x86_64
• Ruby
rpm -qa|grep -i ruby
rubygem-rdoc-4.0.0-35.el7_6.noarch
rubygem-io-console-0.4.2-35.el7_6.x86_64
rubygem-bigdecimal-1.2.0-35.el7_6.x86_64
rubygem-psych-2.0.0-35.el7_6.x86_64
ruby-irb-2.0.0.648-35.el7_6.noarch
ruby-devel-2.0.0.648-35.el7_6.x86_64
rubygems-2.0.14.1-35.el7_6.noarch
rubygem-json-1.7.7-35.el7_6.x86_64
ruby-libs-2.0.0.648-35.el7_6.x86_64
ruby-2.0.0.648-35.el7_6.x86_64
• NetCDF: netcdf-c-4.6.1 or above, netcdf-fortran-4.4.5 or above, with hdf5 enabled
module load library/netcdf/netcdf-fortran/4.5.2
module load library/netcdf/netcdf-c/4.7.3
(module load library/netcdf/netcdf-cxx/4.3.1)
(Compiled with gcc 4.8.5)
• uuid-dev package
rpm -qa|grep uuid
libuuid-devel-2.23.2-59.el7_6.1.x86_64
libuuid-2.23.2-59.el7_6.1.x86_64
|
Actual Install
No Format |
---|
module purge module load intel/intelParallelStudio2019 module load library/xz/5.2.4 module load library/hdf5/5-1.10.5-intel module load library/netcdf/netcdf-fortran/4.5.2-intel module load library/netcdf/netcdf-cxx/4.3.1-intel module load library/netcdf/netcdf-c/4.7.3-intel module load mpi/mpich/3.3.2-intel module list Currently Loaded Modulefiles: 1) intel/intelParallelStudio2019 4) library/netcdf/netcdf-fortran/4.5.2-intel 7) mpi/mpich/3.3.2-intel 2) library/xz/5.2.4 5) library/netcdf/netcdf-cxx/4.3.1-intel 3) library/hdf5/5-1.10.5-intel 6) library/netcdf/netcdf-c/4.7.3-intel cd /sw/Delft3D/62441/src/Delft3D_newversion/Delft3D_Source_62441/src.intel sh autogen.sh 2>&1 | tee autogenLogs-intel.txt ./configure --prefix=/sw/Delft3D/62441intel 2>&1 | tee configureLogs-intel.txt cd /sw/Delft3D/62441/src/Delft3D_newversion/Delft3D_Source_62441/src.intel/scripts_lgpl/linux chmod +x * cd /sw/Delft3D/62441/src/Delft3D_newversion/Delft3D_Source_62441/src.intel #Perform FIX 1: # You may skip FIX 2 as it is done and no longer needed: #Perform FIX 3 make 2>&1 | tee makeLogs-intel.txt make install 2>&1 | tee makeInstallLogs.txt Some of the fixes: ================== FIX 1: ===== cd /sw/Delft3D/62441/src/Delft3D_newversion/Delft3D_Source_62441/src.intel sh fixPTHread.sh ........Notes and Reference......................... cat fixPTHread.sh #Reference#https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00032.html /bin/ld: //usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status On Red Hat and Fedora I believe this is because of `-lrt`. I patch the makefiles so '-lrt' becomes '-;rt -lpthread'. I do so (1) after unpacking the tarball; and (2) after configure. It usually sidesteps this error. for file in $(find "$PWD" -iname 'Makefile') do echo "patching $file" sed -e 's|-lrt|-lrt -lpthread|g' "$file" > "$file.fixed" mv "$file.fixed" "$file" touch -t 197001010000 "$file" done ................................. >>>>>>>>>>>>>>>>>> FIX 2: Only needs to be done once. ====== mkdir /sw/intel/ps/2019up5/intelpython3/intel64/ ln -s /sw/intel/ps/2019up5/intelpython3/include/ /sw/intel/ps/2019up5/intelpython3/intel64/include FIX 3: Manually compile two binaries. piece.f and concat.f ====== cd /sw/Delft3D/62441/src/Delft3D_newversion/Delft3D_Source_62441/src.intel/engines_gpl/waq/packages/waq_utils_f/src/interact I had to do this manually: /sw/Delft3D/62441/src/Delft3D_newversion/Delft3D_Source_62441/src.intel/libtool --tag=F77 --mode=compile mpif77 -DWITH_DELFTONLINE -I/sw/mpi/mpich/3.3.2-intel/include:-I/sw/library/netcdf/NetCDF-C/4.7.3-intel/include:-I/sw/library/netcdf/netcdf-cxx/4-4.3.1-intel/include:-I/sw/library/netcdf/NetCDF-Fortran/4.5.2-intel/include:-I/sw/library/hdf5/5-1.10.5-intel/include:-I/sw/library/xz/5.2.4/include -c -o piece.lo piece.f /sw/Delft3D/62441/src/Delft3D_newversion/Delft3D_Source_62441/src.intel/libtool --tag=F77 --mode=compile mpif77 -DWITH_DELFTONLINE -I/sw/mpi/mpich/3.3.2-intel/include:-I/sw/library/netcdf/NetCDF-C/4.7.3-intel/include:-I/sw/library/netcdf/netcdf-cxx/4-4.3.1-intel/include:-I/sw/library/netcdf/NetCDF-Fortran/4.5.2-intel/include:-I/sw/library/hdf5/5-1.10.5-intel/include:-I/sw/library/xz/5.2.4/include -c -o concat.lo concat.f mpif77 -DWITH_DELFTONLINE -I/sw/mpi/mpich/3.3.2-intel/include:-I/sw/library/netcdf/NetCDF-C/4.7.3-intel/include:-I/sw/library/netcdf/netcdf-cxx/4-4.3.1-intel/include:-I/sw/library/netcdf/NetCDF-Fortran/4.5.2-intel/include:-I/sw/library/hdf5/5-1.10.5-intel/include:-I/sw/library/xz/5.2.4/include -frecursive -c concat.f -fPIC -o >>>>>>>>>>>>>>>>>>>>>>> |
...