source: issm/oecreview/Archive/24307-24683/ISSM-24327-24328.diff@ 24684

Last change on this file since 24684 was 24684, checked in by Mathieu Morlighem, 5 years ago

CHG: added new review

File size: 27.6 KB
RevLine 
[24684]1Index: ../trunk-jpl/externalpackages/lapack/install-3.8-Linux.sh
2===================================================================
3--- ../trunk-jpl/externalpackages/lapack/install-3.8-Linux.sh (nonexistent)
4+++ ../trunk-jpl/externalpackages/lapack/install-3.8-Linux.sh (revision 24328)
5@@ -0,0 +1,38 @@
6+#!/bin/bash
7+set -eu
8+
9+
10+# NOTE: This installation script will build both BLAS and LAPACK libraries
11+#
12+
13+## Constants
14+#
15+VER="3.8.0"
16+
17+# Download source
18+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/lapack-${VER}.tar.gz" "lapack-${VER}.tar.gz"
19+
20+# Unpack source
21+tar -zxvf lapack-$VER.tar.gz
22+
23+# Cleanup
24+rm -rf build install src
25+mkdir build install install/lib src
26+
27+# Move source to 'src' directory
28+mv lapack-$VER/* src
29+rm -rf lapack-$VER
30+
31+# Configure
32+#
33+cd build
34+cmake \
35+ -DBUILD_SHARED_LIBS=ON \
36+ ../src
37+
38+# Compile
39+make
40+
41+# Install
42+cd ..
43+cp ./build/lib/* ./install/lib
44
45Property changes on: ../trunk-jpl/externalpackages/lapack/install-3.8-Linux.sh
46___________________________________________________________________
47Added: svn:executable
48## -0,0 +1 ##
49+*
50\ No newline at end of property
51Index: ../trunk-jpl/externalpackages/mpich/install-3.3-macOS_64.sh
52===================================================================
53--- ../trunk-jpl/externalpackages/mpich/install-3.3-macOS_64.sh (revision 24327)
54+++ ../trunk-jpl/externalpackages/mpich/install-3.3-macOS_64.sh (nonexistent)
55@@ -1,39 +0,0 @@
56-#!/bin/bash
57-set -eu
58-
59-
60-## Constants
61-#
62-VER="3.3"
63-
64-# Cleanup
65-rm -rf src install
66-mkdir src install
67-
68-#Download from ISSM server
69-$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/mpich-${VER}.tar.gz" "mpich-${VER}.tar.gz"
70-
71-# Unpack source
72-tar -zxvf mpich-$VER.tar.gz
73-
74-# Move source into 'src' directory
75-mv mpich-$VER/* src
76-rm -rf mpich-$VER
77-
78-# Configure
79-cd src
80-./configure \
81- --prefix="${ISSM_DIR}/externalpackages/mpich/install" \
82- --enable-shared
83-
84-# Compile and install
85-if [ $# -eq 0 ]; then
86- make
87- make install
88-else
89- make -j $1
90- make -j $1 install
91-fi
92-
93-# Return to initial directory
94-cd ..
95
96Property changes on: ../trunk-jpl/externalpackages/mpich/install-3.3-macOS_64.sh
97___________________________________________________________________
98Deleted: svn:executable
99## -1 +0,0 ##
100-*
101\ No newline at end of property
102Index: ../trunk-jpl/externalpackages/petsc/install-3.11-linux64.sh
103===================================================================
104--- ../trunk-jpl/externalpackages/petsc/install-3.11-linux64.sh (revision 24327)
105+++ ../trunk-jpl/externalpackages/petsc/install-3.11-linux64.sh (nonexistent)
106@@ -1,36 +0,0 @@
107-#!/bin/bash
108-set -eu
109-
110-#Some cleanup
111-rm -rf install petsc-3.11.0 src
112-mkdir install src
113-
114-#Download from ISSM server
115-$ISSM_DIR/scripts/DownloadExternalPackage.sh 'http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-3.11.0.tar.gz' 'petsc-3.11.0.tar.gz'
116-
117-#Untar and move petsc to install directory
118-tar -zxvf petsc-3.11.0.tar.gz
119-mv petsc-3.11.0/* src/
120-rm -rf petsc-3.11.0
121-
122-#configure
123-cd src
124-./config/configure.py \
125- --prefix="$ISSM_DIR/externalpackages/petsc/install" \
126- --with-mpi-dir="$ISSM_DIR/externalpackages/mpich/install" \
127- --PETSC_DIR="$ISSM_DIR/externalpackages/petsc/src" \
128- --with-debugging=1 \
129- --with-valgrind=0 \
130- --with-x=0 \
131- --with-ssl=0 \
132- --with-shared-libraries=1 \
133- --download-metis=1 \
134- --download-parmetis=1 \
135- --download-mumps=1 \
136- --download-scalapack=1 \
137- --download-fblaslapack=1 \
138- --with-pic=1
139-
140-#Compile and intall
141-make
142-make install
143
144Property changes on: ../trunk-jpl/externalpackages/petsc/install-3.11-linux64.sh
145___________________________________________________________________
146Deleted: svn:executable
147## -1 +0,0 ##
148-*
149\ No newline at end of property
150Index: ../trunk-jpl/externalpackages/petsc/install-3.11-macOS.sh
151===================================================================
152--- ../trunk-jpl/externalpackages/petsc/install-3.11-macOS.sh (nonexistent)
153+++ ../trunk-jpl/externalpackages/petsc/install-3.11-macOS.sh (revision 24328)
154@@ -0,0 +1,54 @@
155+#!/bin/bash
156+set -eu
157+
158+
159+## Constants
160+#
161+VER="3.11.3"
162+
163+# Download source
164+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
165+
166+# Unpack source
167+tar -zxvf petsc-$VER.tar.gz
168+
169+# Cleanup
170+rm -rf install src
171+mkdir install src
172+
173+# Move source to 'src' directory
174+mv petsc-$VER/* src/
175+rm -rf petsc-$VER
176+
177+# Configure
178+cd src
179+./config/configure.py \
180+ --prefix="${ISSM_DIR}/externalpackages/petsc/install" \
181+ --PETSC_DIR="${ISSM_DIR}/externalpackages/petsc/src" \
182+ --with-mpi-dir="${ISSM_DIR}/externalpackages/mpich/install" \
183+ --with-blas-lib="-L${ISSM_DIR}/externalpackages/lapack/install/lib -lblas" \
184+ --with-lapack-lib="-L${ISSM_DIR}/externalpackages/lapack/install/lib -llapack" \
185+ --with-debugging=0 \
186+ --with-valgrind=0 \
187+ --with-x=0 \
188+ --with-ssl=0 \
189+ --with-shared-libraries=1 \
190+ --download-zlib=1\
191+ --download-hdf5=1 \
192+ --download-netcdf=1 \
193+ --download-metis=1 \
194+ --download-parmetis=1 \
195+ --download-scalapack=1 \
196+ --download-mumps=1
197+
198+# Compile and install
199+if [ $# -eq 0 ]; then
200+ make
201+ make install
202+else
203+ make -j $1
204+ make -j $1 install
205+fi
206+
207+# Return to initial directory
208+cd ..
209
210Property changes on: ../trunk-jpl/externalpackages/petsc/install-3.11-macOS.sh
211___________________________________________________________________
212Added: svn:executable
213## -0,0 +1 ##
214+*
215\ No newline at end of property
216Index: ../trunk-jpl/externalpackages/petsc/install-3.11-Linux.sh
217===================================================================
218--- ../trunk-jpl/externalpackages/petsc/install-3.11-Linux.sh (nonexistent)
219+++ ../trunk-jpl/externalpackages/petsc/install-3.11-Linux.sh (revision 24328)
220@@ -0,0 +1,54 @@
221+#!/bin/bash
222+set -eu
223+
224+
225+## Constants
226+#
227+VER="3.11.3"
228+
229+# Download source
230+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/petsc-lite-${VER}.tar.gz" "petsc-${VER}.tar.gz"
231+
232+# Unpack source
233+tar -zxvf petsc-$VER.tar.gz
234+
235+# Cleanup
236+rm -rf install src
237+mkdir install src
238+
239+# Move source to 'src' directory
240+mv petsc-$VER/* src/
241+rm -rf petsc-$VER
242+
243+# Configure
244+cd src
245+./config/configure.py \
246+ --prefix="${ISSM_DIR}/externalpackages/petsc/install" \
247+ --PETSC_DIR="${ISSM_DIR}/externalpackages/petsc/src" \
248+ --with-mpi-dir="${ISSM_DIR}/externalpackages/mpich/install" \
249+ --with-blas-lib="-L${ISSM_DIR}/externalpackages/lapack/install/lib -lblas" \
250+ --with-lapack-lib="-L${ISSM_DIR}/externalpackages/lapack/install/lib -llapack" \
251+ --with-debugging=0 \
252+ --with-valgrind=0 \
253+ --with-x=0 \
254+ --with-ssl=0 \
255+ --with-shared-libraries=1 \
256+ --download-zlib=1\
257+ --download-hdf5=1 \
258+ --download-netcdf=1 \
259+ --download-metis=1 \
260+ --download-parmetis=1 \
261+ --download-scalapack=1 \
262+ --download-mumps=1
263+
264+# Compile and install
265+if [ $# -eq 0 ]; then
266+ make
267+ make install
268+else
269+ make -j $1
270+ make -j $1 install
271+fi
272+
273+# Return to initial directory
274+cd ..
275
276Property changes on: ../trunk-jpl/externalpackages/petsc/install-3.11-Linux.sh
277___________________________________________________________________
278Added: svn:executable
279## -0,0 +1 ##
280+*
281\ No newline at end of property
282Index: ../trunk-jpl/m4/issm_options.m4
283===================================================================
284--- ../trunk-jpl/m4/issm_options.m4 (revision 24327)
285+++ ../trunk-jpl/m4/issm_options.m4 (revision 24328)
286@@ -1491,18 +1491,26 @@
287 dnl blas-lapack headers and libraries
288 if test "x$HAVE_BLASLAPACK" == "xyes"; then
289 BLASLAPACKINCL=""
290- dnl: branch on whether we are running on windows or linux.
291 case "${host_os}" in
292 *cygwin*)
293 BLASLAPACKLIB="-L`cygpath -m $BLASLAPACK_ROOT` -Wl,libf2cblas.lib -Wl,libf2clapack.lib"
294 ;;
295 *linux*)
296- BLASLAPACKLIB=-L"$BLASLAPACK_ROOT/lib -lflapack -lfblas "
297- #BLASLAPACKLIB=-L"$BLASLAPACK_ROOT/lib -llapack -lblas "
298- ;;
299+ BLASLAPACKLIB="-L${BLASLAPACK_ROOT}/lib"
300+ if "x${BLASLAPACK_ROOT}" == "x${PETSC_ROOT}"; then
301+ BLASLAPACKLIB+=" -lflapack -lfblas"
302+ else
303+ BLASLAPACKLIB+=" -llapack -lblas"
304+ fi
305+ ;;
306 *darwin*)
307- BLASLAPACKLIB=-L"$BLASLAPACK_ROOT/lib -lflapack -lfblas "
308- ;;
309+ BLASLAPACKLIB="-L${BLASLAPACK_ROOT}/lib"
310+ if "x${BLASLAPACK_ROOT}" == "x${PETSC_ROOT}"; then
311+ BLASLAPACKLIB+=" -lflapack -lfblas"
312+ else
313+ BLASLAPACKLIB+=" -llapack -lblas"
314+ fi
315+ ;;
316 esac
317 AC_DEFINE([_HAVE_BLASLAPACK_],[1],[with blas lapack in ISSM src])
318 AC_SUBST([BLASLAPACKLIB])
319Index: ../trunk-jpl/externalpackages/gmt/configs/Linux/cmake/ConfigUser.cmake
320===================================================================
321--- ../trunk-jpl/externalpackages/gmt/configs/Linux/cmake/ConfigUser.cmake (nonexistent)
322+++ ../trunk-jpl/externalpackages/gmt/configs/Linux/cmake/ConfigUser.cmake (revision 24328)
323@@ -0,0 +1,308 @@
324+#
325+#
326+# Copyright (c) 1991-2019 by the GMT Team (https://www.generic-mapping-tools.org/team.html)
327+# See LICENSE.TXT file for copying and redistribution conditions.
328+#
329+# This program is free software; you can redistribute it and/or modify it
330+# under the terms of the GNU Lesser General Public License as published by the
331+# Free Software Foundation; version 3 or any later version.
332+#
333+# This program is distributed in the hope that it will be useful, but WITHOUT
334+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
335+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
336+# for more details.
337+#
338+# Contact info: www.generic-mapping-tools.org
339+# ----------------------------------------------------------------------------
340+
341+# Use this file to override variables in 'ConfigDefault.cmake' on a per-user
342+# basis. First copy 'ConfigUserTemplate.cmake' to 'ConfigUser.cmake', then
343+# edit 'ConfigUser.cmake'. 'ConfigUser.cmake' is not version controlled
344+# (currently listed in .gitignore).
345+#
346+# Note: CMake considers an empty string, "FALSE", "OFF", "NO", or any string
347+# ending in "-NOTFOUND" to be false (this happens to be case-insensitive, so
348+# "False", "off", "no", and "something-NotFound" are all false). Other values
349+# are true. Thus it does not matter whether you use TRUE and FALSE, ON and
350+# OFF, or YES and NO for your booleans.
351+
352+##
353+## Section 1: Installation paths
354+##
355+
356+# ============================================================================
357+# Basic setup begins here. All settings are optional. In most cases, setting
358+# CMAKE_INSTALL_PREFIX should be all you need to do in order to build GMT with
359+# reasonable defaults enabled. Note: If you need to specify directory names
360+# with spaces (e.g., on Windows) then you must put them in quotes.
361+# ============================================================================
362+
363+# Installation path (usually defaults to /usr/local) [auto]:
364+set (CMAKE_INSTALL_PREFIX "$ENV{ISSM_DIR}/externalpackages/gmt/install")
365+
366+# Set install name suffix used for directories and gmt executables
367+# [undefined]:
368+#set (GMT_INSTALL_NAME_SUFFIX "suffix")
369+
370+# Install into traditional directory structure. Disable to install a
371+# distribution type directory structure (doc and share separated) [on]:
372+#set (GMT_INSTALL_TRADITIONAL_FOLDERNAMES OFF)
373+
374+# Install convenience links for GMT modules. Disable to install only the main
375+# gmt program and access modules as "gmt modulename options" [TRUE]:
376+#set (GMT_INSTALL_MODULE_LINKS FALSE)
377+
378+# Make executables relocatable on supported platforms (relative RPATH) [FALSE]:
379+set (GMT_INSTALL_RELOCATABLE TRUE)
380+
381+# Exclude optional GDAL, PCRE, PCRE2, FFTW3, LAPACK, BLAS, ZLIB dependencies even if you have them installed [FALSE]
382+#set (GMT_EXCLUDE_GDAL TRUE)
383+#set (GMT_EXCLUDE_PCRE TRUE)
384+#set (GMT_EXCLUDE_PCRE2 TRUE)
385+#set (GMT_EXCLUDE_FFTW3 TRUE)
386+#set (GMT_EXCLUDE_LAPACK TRUE)
387+#set (GMT_EXCLUDE_BLAS TRUE)
388+#set (GMT_EXCLUDE_ZLIB TRUE)
389+
390+# ============================================================================
391+# Advanced configuration begins here. Usually it is not necessary to edit any
392+# settings below. You should know what you are doing if you do though. Note:
393+# installation paths are relative to ${CMAKE_INSTALL_PREFIX} unless absolute
394+# path is given.
395+# ============================================================================
396+
397+# Set binary installation path [bin]:
398+#set (GMT_BINDIR "bin")
399+
400+# Set library installation path [lib or lib64]:
401+#set (GMT_LIBDIR "lib")
402+
403+# Set include installation path [include/gmt${GMT_INSTALL_NAME_SUFFIX}]:
404+#set (GMT_INCLUDEDIR "include/gmt")
405+
406+# Set share installation path [share or share/gmt${GMT_INSTALL_NAME_SUFFIX}]:
407+#set (GMT_DATADIR "share/gmt")
408+
409+# Set doc installation path [share/doc or
410+# share/doc/gmt${GMT_INSTALL_NAME_SUFFIX}]:
411+#set (GMT_DOCDIR "share/doc/gmt")
412+
413+# Set manpage installation path [share/man or
414+# share/doc/gmt${GMT_INSTALL_NAME_SUFFIX}/man]:
415+#set (GMT_MANDIR "share/doc/gmt/man")
416+
417+# Install documentation files from this external location instead of creating
418+# new HTML documents from scratch [${GMT_SOURCE_DIR}/doc_release]:
419+#set (GMT_INSTALL_EXTERNAL_DOC OFF)
420+
421+# Install manual pages from this external location instead of creating the
422+# manpages from scratch [${GMT_SOURCE_DIR}/man_release]:
423+#set (GMT_INSTALL_EXTERNAL_MAN OFF)
424+
425+##
426+## Section 2: Build dependencies (should only be needed if CMake cannot
427+## automatically detect the rights version or path.)
428+##
429+
430+# Set URL to GMT Data server [auto]:
431+#set (GMT_DATA_SERVER "data_server_url")
432+
433+# Set path to GSHHG Shoreline Database [auto]:
434+set (GSHHG_ROOT "$ENV{ISSM_DIR}/externalpackages/gshhg/install")
435+
436+# Copy GSHHG files to ${GMT_DATADIR}/coast [FALSE]:
437+#set (COPY_GSHHG TRUE)
438+
439+# Set path to DCW Digital Chart of the World for GMT [auto]:
440+#set (DCW_ROOT "dcw-gmt_path")
441+
442+# Copy DCW files to ${GMT_DATADIR}/dcw [FALSE]:
443+#set (COPY_DCW TRUE)
444+
445+# Copy GDAL's 'data' directory to ${GMT_DATADIR}/GDAL_DATA [FALSE]:
446+#set (GDAL_DATA_PATH C:/programs/compa_libs/gdal_GIT/compileds/VC14_64/data)
447+
448+# Copy PROJ4's 'share' directory to ${GMT_DATADIR}/GDAL_DATA [FALSE]:
449+#set (PROJ_DATA_PATH C:/programs/compa_libs/proj5_GIT/compileds/VC14_64/share/proj)
450+
451+# FOR WINDOWS ONLY
452+# Set path to location of Ghostscript binaries (optional install)
453+#set (GHOST_DATA_PATH C:/programs/compa_libs/ghostscript/bin)
454+
455+# FOR WINDOWS ONLY
456+# Set path to location where the gmtmex is located.
457+#set (GMTMEX_PATH "C:/progs_cygw/GMTdev/gmtmex/${GMTver}")
458+
459+# Set location of NetCDF (can be root directory, path to header file or path
460+# to nc-config) [auto]:
461+set (NETCDF_ROOT "$ENV{ISSM_DIR}/externalpackages/petsc/install")
462+
463+# Set location of GDAL (can be root directory, path to header file or path to
464+# gdal-config) [auto]:
465+set (GDAL_ROOT "$ENV{ISSM_DIR}/externalpackages/gdal/install")
466+
467+# Set location of PCRE (can be root directory, path to header file or path to
468+# pcre-config) [auto]:
469+#set (PCRE_ROOT "pcre_install_prefix")
470+# Alternatively, set location of PCRE2 (can be root directory, path to header file or path to
471+# pcre2-config) [auto]:
472+#set (PCRE2_ROOT "pcre2_install_prefix")
473+
474+# Set location of single precision FFTW (can be root directory or path to
475+# header file) [auto]:
476+#set (FFTW3_ROOT "fftw_install_prefix")
477+
478+# Set location of ZLIB (can be root directory or path to header file) [auto]:
479+set (ZLIB_ROOT "$ENV{ISSM_DIR}/externalpackages/petsc/install")
480+
481+# Set location of CURL (can be root directory or path to header file) [auto]:
482+#set (CURL_ROOT "curl_install_prefix")
483+
484+# Set location of GLIB component gthread [auto]. This is an optional (and
485+# experimental) option which you need to enable:
486+#set (GMT_USE_THREADS TRUE)
487+# If pkg-config is not installed (e.g. on Windows) you need to specify these:
488+#set (GLIB_INCLUDE_DIR c:/path/to/glib-dev/include/glib-2.0)
489+#set (GLIB_LIBRARIES c:/path/to/glib-dev/lib/glib-2.0.lib)
490+
491+# Set LAPACK location. Use this when want to link with LAPACK and it's not found automatically
492+set (LAPACK_LIBRARY "-L$ENV{ISSM_DIR}/externalpackages/lapack/install/lib -llapack")
493+set (BLAS_LIBRARY "-L$ENV{ISSM_DIR}/externalpackages/lapack/install/lib -lblas")
494+
495+##
496+## Section 3: GMT features
497+##
498+
499+# Enforce GPL or LGPL conformity. Use this to disable routines that cannot be
500+# redistributed under the terms of the GPL or LGPL such as Shewchuk's
501+# triangulation (valid values are GPL, LGPL and off) [off]:
502+#set (LICENSE_RESTRICTED GPL)
503+
504+# Allow building of OpenMP if compiler supports it
505+# set (GMT_ENABLE_OPENMP TRUE)
506+
507+# Configure default units (possible values are SI and US) [SI]:
508+#set (UNITS "US")
509+
510+# Enable building of shared libraries [TRUE] (disable to use static libraries;
511+# not recommended; on non-x86 architectures uncomment the next option as well):
512+#set (BUILD_SHARED_LIBS FALSE)
513+
514+# Create position independent code on all targets [auto] (needed for static
515+# build on non-x86):
516+#set (CMAKE_POSITION_INDEPENDENT_CODE TRUE)
517+
518+# Build GMT shared lib with supplemental modules [TRUE]:
519+#set (BUILD_SUPPLEMENTS FALSE)
520+
521+# Build/Install GMT Developer include files [TRUE]:
522+# This installs the extra include files and configured files needed by 3rd-party
523+# developers. Until we build a separate gmt-devel we include them in the main
524+# Distribution.
525+#set (BUILD_DEVELOPER FALSE)
526+
527+##
528+## Section 4: Advanced tweaking
529+##
530+
531+#
532+# Testing and development
533+#
534+
535+# Enable running examples/tests with "ctest" or "make check" (out-of-source).
536+# Need to set either DO_EXAMPLES, DO_TESTS or both and uncomment the following
537+# line.
538+#enable_testing()
539+#set (DO_EXAMPLES TRUE)
540+#set (DO_TESTS TRUE)
541+#set (DO_ANIMATIONS TRUE)
542+# Number of parallel test jobs with "make check":
543+#set (N_TEST_JOBS 4)
544+
545+# Enable this option to run GMT programs from within ${GMT_BINARY_DIR} without
546+# installing or setting GMT_SHAREDIR and GMT_USERDIR first. This is required
547+# for testing [OFF]:
548+#set (SUPPORT_EXEC_IN_BINARY_DIR ON)
549+
550+# List extra sub-dirs of 'src' with a CMakeList.txt to build non-module codes
551+# that link against the full gmt libs (not just the API; for building codes
552+# that only need the GMT API, see the gmt-custom project).
553+#set (EXTRA_BUILD_DIRS apidemo)
554+# Uncomment the following line to enable running low-level C tests of the API
555+#set (DO_API_TESTS ON)
556+
557+# Directory in which to install the release sources per default
558+# [${GMT_BINARY_DIR}/gmt-${GMT_PACKAGE_VERSION}]:
559+#set (GMT_RELEASE_PREFIX "release-src-prefix")
560+
561+# If set to false, image conversion from PS images to PNG and PDF does
562+# not depend on the gmt binary target. Note: "make gmt" is then required
563+# before docs_depends [TRUE].
564+#set (GMT_DOCS_DEPEND_ON_GMT FALSE)
565+
566+#
567+# Debugging
568+#
569+
570+# Set build type can be: empty, Debug, Release, RelWithDebInfo or MinSizeRel
571+# [Release]:
572+#set (CMAKE_BUILD_TYPE Debug)
573+
574+# Extra debugging for developers:
575+#if ( CMAKE_GENERATOR STREQUAL "Xcode" )
576+## So Xcode can find the supplemental plug-ins during debug sessions
577+# add_definitions(-DXCODER)
578+# add_definitions(-DDEBUG_MODERN) # To set PPID == 0 during Xcode test
579+# message("Add Xcode definition for GMT")
580+#endif()
581+#add_definitions(-DDEBUG)
582+#add_definitions(-DMEMDEBUG) # Turn on memory tracking see gmt_support.c for extra info
583+#set (CMAKE_C_FLAGS "-Wall -Wdeclaration-after-statement") # recommended even for release build
584+#set (CMAKE_C_FLAGS "-Wextra ${CMAKE_C_FLAGS}") # extra warnings
585+#set (CMAKE_C_FLAGS_DEBUG -ggdb3) # gdb debugging symbols
586+#set (CMAKE_LINK_DEPENDS_DEBUG_MODE TRUE) # debug link dependencies
587+if (HAVE_OPENMP)
588+ set (CMAKE_C_FLAGS_RELEASE "-ggdb3 -O2 -Wuninitialized -flax-vector-conversions") # check uninitialized variables
589+else (HAVE_OPENMP)
590+ set (CMAKE_C_FLAGS_RELEASE "-ggdb3 -O2 -Wuninitialized") # check uninitialized variables
591+endif (HAVE_OPENMP)
592+
593+#
594+# System specific tweaks
595+#
596+
597+# This is for GCC on Solaris to avoid "relocations remain against allocatable
598+# but non-writable sections" problems:
599+#set (USER_GMTLIB_LINK_FLAGS -mimpure-text)
600+
601+# This may be needed to enable strdup and extended math functions with GCC and
602+# Suncc on Solaris:
603+#set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__EXTENSIONS__")
604+
605+# Do not warn when building with Windows SDK or Visual Studio Express:
606+#set (CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
607+
608+# Manually select runtime library when compiling with Windows SDK or Visual
609+# Studio Express:
610+#set (CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS c:/Windows/System32/msvcr100.dll)
611+
612+# If your NetCDF library is static (not recommended, applies to Windows only)
613+#set (NETCDF_STATIC TRUE)
614+
615+# If want to rename the DLLs to something else than the default (e.g. to
616+# append the bitness - Windows only)
617+# WARNING: if using this option it is mandatory that the suffix starts with an underscore.
618+#if (WIN32)
619+# set (BITAGE 32)
620+# # Detect if we are building a 32 or 64 bits version
621+# if (CMAKE_SIZEOF_VOID_P EQUAL 8)
622+# set (BITAGE 64)
623+# endif ()
624+# set (GMT_DLL_RENAME gmt_w${BITAGE})
625+# set (PSL_DLL_RENAME psl_w${BITAGE})
626+#endif(WIN32)
627+
628+# On Windows Visual C 2012 needs _ALLOW_KEYWORD_MACROS to build
629+#if(MSVC11)
630+# add_definitions(/D_ALLOW_KEYWORD_MACROS)
631+#endif(MSVC11)
632Index: ../trunk-jpl/externalpackages/gmt/install-6.0-Linux.sh
633===================================================================
634--- ../trunk-jpl/externalpackages/gmt/install-6.0-Linux.sh (nonexistent)
635+++ ../trunk-jpl/externalpackages/gmt/install-6.0-Linux.sh (revision 24328)
636@@ -0,0 +1,42 @@
637+#!/bin/bash
638+set -eu
639+
640+
641+## Constants
642+#
643+VER="6.0.0"
644+
645+# Download source
646+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/gmt-${VER}.tar.gz" "gmt-${VER}.tar.gz"
647+
648+# Unpack source
649+tar -zxvf gmt-$VER.tar.gz
650+
651+# Cleanup
652+rm -rf install src
653+mkdir install src
654+
655+# Move source to 'src' directory
656+mv gmt-$VER/* src
657+rm -rf gmt-$VER
658+
659+# Copy custom configuration files
660+cp ./configs/Linux/cmake/ConfigUser.cmake ./src/cmake
661+
662+# Configure
663+cd src
664+mkdir build
665+cd build
666+cmake ..
667+
668+# Compile and install
669+if [ $# -eq 0 ]; then
670+ make
671+ make install
672+else
673+ make -j $1
674+ make -j $1 install
675+fi
676+
677+# Return to initial directory
678+cd ../..
679
680Property changes on: ../trunk-jpl/externalpackages/gmt/install-6.0-Linux.sh
681___________________________________________________________________
682Added: svn:executable
683## -0,0 +1 ##
684+*
685\ No newline at end of property
686Index: ../trunk-jpl/externalpackages/mpich/install-3.3.sh
687===================================================================
688--- ../trunk-jpl/externalpackages/mpich/install-3.3.sh (nonexistent)
689+++ ../trunk-jpl/externalpackages/mpich/install-3.3.sh (revision 24328)
690@@ -0,0 +1,39 @@
691+#!/bin/bash
692+set -eu
693+
694+
695+## Constants
696+#
697+VER="3.3"
698+
699+# Download source
700+$ISSM_DIR/scripts/DownloadExternalPackage.sh "https://issm.ess.uci.edu/files/externalpackages/mpich-${VER}.tar.gz" "mpich-${VER}.tar.gz"
701+
702+# Unpack source
703+tar -zxvf mpich-$VER.tar.gz
704+
705+# Cleanup
706+rm -rf src install
707+mkdir src install
708+
709+# Move source into 'src' directory
710+mv mpich-$VER/* src
711+rm -rf mpich-$VER
712+
713+# Configure
714+cd src
715+./configure \
716+ --prefix="${ISSM_DIR}/externalpackages/mpich/install" \
717+ --enable-shared
718+
719+# Compile and install
720+if [ $# -eq 0 ]; then
721+ make
722+ make install
723+else
724+ make -j $1
725+ make -j $1 install
726+fi
727+
728+# Return to initial directory
729+cd ..
730
731Property changes on: ../trunk-jpl/externalpackages/mpich/install-3.3.sh
732___________________________________________________________________
733Added: svn:executable
734## -0,0 +1 ##
735+*
736\ No newline at end of property
737Index: ../trunk-jpl/jenkins/linux64_ross_se
738===================================================================
739--- ../trunk-jpl/jenkins/linux64_ross_se (revision 24327)
740+++ ../trunk-jpl/jenkins/linux64_ross_se (revision 24328)
741@@ -15,11 +15,11 @@
742 --with-fortran-lib="-L/usr/lib/gcc/x86_64-linux-gnu/4.9 -lgfortran" \
743 --with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include \
744 --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/mpich/install/lib -lmpi -lmpicxx -lmpifort" \
745+ --with-blas-lapack-dir=$ISSM_DIR/externalpackages/lapack/install \
746 --with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
747- --with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install \
748- --with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
749 --with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install \
750 --with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
751+ --with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
752 --with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
753 --with-boost-dir=$ISSM_DIR/externalpackages/boost/install \
754 --with-numthreads=4 \
755@@ -41,16 +41,18 @@
756 EXTERNALPACKAGES="
757 autotools install.sh
758 cmake install.sh
759- mpich install-3.2-linux64.sh
760- petsc install-3.7-linux64.sh
761+ mpich install-3.3.sh
762+ lapack install-3.8.sh
763+ petsc install-3.11-Linux.sh
764 triangle install-linux64.sh
765+ chaco install.sh
766+ m1qn3 install.sh
767+ semic install.sh
768 boost install-1.55-linux.sh
769- hdf5 install-1.10.sh
770- netcdf install-4.7.sh
771 proj install-6.2.sh
772 gdal install-3.0-netcdf.sh
773 gshhg install.sh
774- gmt install.sh
775+ gmt install-6.0-Linux.sh
776 gmsh install.sh
777 shell2junit install.sh
778 "
779@@ -64,10 +66,10 @@
780 # NOTE: One is usually safer as some packages are very sensitive to parallel
781 # compilation.
782 #
783-NUMCPUS_INSTALL=10
784+NUMCPUS_INSTALL=8
785
786 #number of cpus used in the nightly runs. (pb of access to all_vertices.txt if more than 1)
787-NUMCPUS_RUN=5
788+NUMCPUS_RUN=8
789
790 #Nightly run options. The matlab routine runme.m will be called
791 #as follows: runme($MATLAB_NROPTIONS). The options must be understandable
792Index: ../trunk-jpl/jenkins/linux64_ross
793===================================================================
794--- ../trunk-jpl/jenkins/linux64_ross (revision 24327)
795+++ ../trunk-jpl/jenkins/linux64_ross (revision 24328)
796@@ -11,9 +11,9 @@
797 --with-matlab-dir=$MATLAB_PATH \
798 --with-fortran-lib="-L/usr/lib/gcc/x86_64-linux-gnu/4.9 -lgfortran" \
799 --with-mpi-include=$ISSM_DIR/externalpackages/mpich/install/include \
800- --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/mpich/install/lib -lmpi" \
801+ --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/mpich/install/lib -lmpi -lmpicxx -lmpifort" \
802+ --with-blas-lapack-dir=$ISSM_DIR/externalpackages/lapack/install \
803 --with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
804- --with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install \
805 --with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install \
806 --with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install \
807 --with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
808@@ -40,13 +40,12 @@
809 EXTERNALPACKAGES="
810 autotools install.sh
811 cmake install.sh
812- mpich install-3.2-linux64.sh
813- petsc install-3.7-linux64.sh
814+ mpich install-3.3.sh
815+ lapack install-3.8.sh
816+ petsc install-3.11-Linux.sh
817 triangle install-linux64.sh
818 chaco install.sh
819 m1qn3 install.sh
820- hdf5 install-1.10.sh
821- netcdf install-4.7.sh
822 semic install.sh
823 shell2junit install.sh
824 "
825@@ -55,15 +54,12 @@
826 # 4: test options #
827 #-----------------#
828
829-# Number of CPUs used in ISSM compilation
830-#
831-# NOTE: One is usually safer as some packages are very sensitive to parallel
832-# compilation.
833-#
834-NUMCPUS_INSTALL=10
835+#number of cpus used in ISSM installation and compilation (one is usually
836+#safer as some packages are very sensitive to parallel compilation)
837+NUMCPUS_INSTALL=8
838
839 #number of cpus used in the nightly runs.
840-NUMCPUS_RUN=5
841+NUMCPUS_RUN=8
842
843 #Nightly run options. The matlab routine runme.m will be called
844 #as follows: runme($MATLAB_NROPTIONS). The options must be understandable
845Index: ../trunk-jpl/etc/environment.sh
846===================================================================
847--- ../trunk-jpl/etc/environment.sh (revision 24327)
848+++ ../trunk-jpl/etc/environment.sh (revision 24328)
849@@ -191,6 +191,11 @@
850 ld_library_path_prepend "$MPI_DIR/lib"
851 fi
852
853+LAPACK_DIR="${ISSM_DIR}/externalpackages/lapack/install"
854+if [ -d "$LAPACK_DIR" ]; then
855+ ld_library_path_append "$LAPACK_DIR/lib"
856+fi
857+
858 PETSC_DIR="${ISSM_DIR}/externalpackages/petsc/install"
859 if [ -d "$PETSC_DIR" ]; then
860 export PETSC_DIR
Note: See TracBrowser for help on using the repository browser.