Changeset 24676


Ignore:
Timestamp:
03/31/20 12:42:27 (5 years ago)
Author:
jdquinn
Message:

CHG: Support for Mac binaries

Location:
issm/trunk-jpl
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/externalpackages/boost/install-1.72-mac-static.sh

    r24665 r24676  
    4040mkdir ${BOOST_ROOT}/install/bin
    4141cp bjam ${BOOST_ROOT}/install/bin
     42
     43# Remove any dynamic libraries that may have been compiled
     44#
     45# TODO: Reconfigure so that dynamic libraries are not compiled at all
     46#
     47rm -f $(ls ${BOOST_ROOT}/install/lib/*.dylib)
  • issm/trunk-jpl/externalpackages/dakota/install-6.2-mac-static.sh

    r24665 r24676  
    1010## Environment
    1111#
    12 export BLAS_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lfblas -L/usr/local/gfortran/lib -lgfortran" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
     12export BLAS_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lfblas /usr/local/Cellar/gcc/9.3.0/lib/gcc/9/libgfortran.a /usr/local/Cellar/gcc/9.3.0/lib/gcc/9/libquadmath.a /usr/local/Cellar/gcc/9.3.0/lib/gcc/9/gcc/x86_64-apple-darwin15/9.3.0/libgcc.a" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
    1313export BOOST_ROOT=${ISSM_DIR}/externalpackages/boost/install
    1414export DAK_BUILD=${DAK_ROOT}/build
    1515export DAK_INSTALL=${DAK_ROOT}/install
    1616export DAK_SRC=${DAK_ROOT}/src
    17 export LAPACK_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lflapack -L/usr/local/gfortran/lib -lgfortran" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
     17export LAPACK_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lflapack /usr/local/Cellar/gcc/9.3.0/lib/gcc/9/libgfortran.a /usr/local/Cellar/gcc/9.3.0/lib/gcc/9/libquadmath.a /usr/local/Cellar/gcc/9.3.0/lib/gcc/9/gcc/x86_64-apple-darwin15/9.3.0/libgcc.a" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
    1818
    1919# Cleanup
  • issm/trunk-jpl/externalpackages/dakota/install-6.2-mac.sh

    r24663 r24676  
    1010## Environment
    1111#
    12 export BLAS_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lfblas -L/usr/local/gfortran/lib -lgfortran" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
     12export BLAS_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lfblas -L/usr/local/Cellar/gcc/9.3.0/lib/gcc/9 -lgfortran" # Need to export BLAS_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
    1313export BOOST_ROOT=${ISSM_DIR}/externalpackages/boost/install
    1414export DAK_BUILD=${DAK_ROOT}/build
    1515export DAK_INSTALL=${DAK_ROOT}/install
    1616export DAK_SRC=${DAK_ROOT}/src
    17 export LAPACK_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lflapack -L/usr/local/gfortran/lib -lgfortran" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
     17export LAPACK_LIBS="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lflapack -L/usr/local/Cellar/gcc/9.3.0/lib/gcc/9 -lgfortran" # Need to export LAPACK_LIBS *and* pass it as an option to CMake to ensure that external packages also find it
    1818
    1919# Cleanup
  • issm/trunk-jpl/externalpackages/petsc/install-3.12-mac-static.sh

    r24649 r24676  
    3636        --CFLAGS="-fPIC" \
    3737        --CXXFLAGS="-fPIC" \
    38         --FFLAGS="-fPIC" \
     38        --FFLAGS="-fPIC -static-libgfortran" \
    3939        --with-debugging=0 \
    4040        --with-valgrind=0 \
  • issm/trunk-jpl/jenkins/pine_island-mac

    r24665 r24676  
    1414        --with-numthreads=4 \
    1515        --with-matlab-dir=${MATLAB_PATH} \
    16         --with-fortran-lib="-L/usr/local/gfortran/lib -lgfortran" \
     16        --with-fortran-lib="-L/usr/local/Cellar/gcc/9.3.0/lib/gcc/9 -lgfortran" \
    1717        --with-mpi-include=${ISSM_DIR}/externalpackages/petsc/install/include \
    1818        --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \
     
    6969#
    7070# NOTE:
    71 #       - test701.m is skipped because it uses full Stokes equations
     71# - test701 is skipped because it uses full Stokes equations
    7272#
    73 MATLAB_NROPTIONS="'exclude',[701,702,703,435,IdFromString('Dakota')]"
    74 PYTHON_NROPTIONS="--exclude_name 'Dakota'"
     73MATLAB_NROPTIONS="'exclude',[435,701,702,703,IdFromString('Dakota')]"
     74PYTHON_NROPTIONS=""
  • issm/trunk-jpl/jenkins/pine_island-mac-binaries

    r24665 r24676  
    99# - We can disable dependency tracking in the Autotools because the binaries
    1010#       should always be a one-time build.
    11 # - libgfortran is copied to $ISSM_DIR/lib by packaging script.
    1211#
     12
    1313# ISSM CONFIGURATION
    1414ISSM_CONFIG='\
    1515        --prefix=${ISSM_DIR} \
    16         --disable-static \
    1716        --enable-standalone-executables \
    1817        --enable-standalone-modules \
     
    2019        --disable-dependency-tracking \
    2120        --with-matlab-dir=${MATLAB_PATH} \
    22         --with-fortran-lib="-L/usr/local/gfortran/lib -lgfortran" \
     21        --with-fortran-lib="/usr/local/Cellar/gcc/9.3.0/lib/gcc/9/libgfortran.a /usr/local/Cellar/gcc/9.3.0/lib/gcc/9/libquadmath.a /usr/local/Cellar/gcc/9.3.0/lib/gcc/9/gcc/x86_64-apple-darwin15/9.3.0/libgcc.a" \
    2322        --with-mpi-include=${ISSM_DIR}/externalpackages/petsc/install/include \
    2423        --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \
  • issm/trunk-jpl/jenkins/pine_island-mac-binaries-with_dakota

    r24665 r24676  
    99# - We can disable dependency tracking in the Autotools because the binaries
    1010#       should always be a one-time build.
    11 # - libgfortran is copied to $ISSM_DIR/lib by packaging script.
    1211#
     12
    1313# ISSM CONFIGURATION
    1414ISSM_CONFIG='\
    1515        --prefix=${ISSM_DIR} \
    16         --disable-static \
    1716        --enable-standalone-executables \
    1817        --enable-standalone-modules \
     
    2221        --with-python-dir=/System/Library/Frameworks/Python.framework/Versions/2.7 \
    2322        --with-python-numpy-dir=/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy \
    24         --with-fortran-lib="-L/usr/local/gfortran/lib -lgfortran" \
     23        --with-fortran-lib="/usr/local/Cellar/gcc/9.3.0/lib/gcc/9/libgfortran.a /usr/local/Cellar/gcc/9.3.0/lib/gcc/9/libquadmath.a /usr/local/Cellar/gcc/9.3.0/lib/gcc/9/gcc/x86_64-apple-darwin15/9.3.0/libgcc.a" \
    2524        --with-mpi-include=${ISSM_DIR}/externalpackages/petsc/install/include \
    2625        --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \
  • issm/trunk-jpl/jenkins/pine_island-mac-dakota

    r24665 r24676  
    1616        --with-python-dir=/System/Library/Frameworks/Python.framework/Versions/2.7 \
    1717        --with-python-numpy-dir=/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy \
    18         --with-fortran-lib="-L/usr/local/gfortran/lib -lgfortran" \
     18        --with-fortran-lib="-L/usr/local/Cellar/gcc/9.3.0/lib/gcc/9 -lgfortran" \
    1919        --with-mpi-include=${ISSM_DIR}/externalpackages/petsc/install/include \
    2020        --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \
     
    3838EXAMPLES_TEST=0
    3939
    40 #-----------------------------------#
    41 # 3: External packages installation #
    42 #-----------------------------------#
     40#-------------------#
     41# External Packages #
     42#-------------------#
    4343
    4444#List of external pakages to be installed and their installation scripts
     
    5656"
    5757
    58 #-----------------#
    59 # 4: test options #
    60 #-----------------#
     58#---------#
     59# Testing #
     60#---------#
    6161
    6262# Number of CPUs used in ISSM compilation
     
    7575#
    7676# NOTE:
    77 # - See test418.py for reason why it is excluded for now.
    78 # - Error is large for test420.
     77# - See test418.py for reason why it is excluded for now
     78# - test701 is skipped because it uses full Stokes equations
    7979#
    80 MATLAB_NROPTIONS="'exclude',[234,235,243,418,420,435,444,445,701,702],'id',[IdFromString('Dakota')]"
    81 PYTHON_NROPTIONS="--exclude 234 235 243 418 420 435 444 445 701 702 --include_name 'Dakota'"
     80MATLAB_NROPTIONS="'exclude',[243 435 701 702 703,'id',[IdFromString('Dakota')]"
     81PYTHON_NROPTIONS="--exclude 243 418 435 701 702 703 --include_name 'Dakota'"
  • issm/trunk-jpl/packagers/linux/package-issm-linux-binaries-with_dakota.sh

    r24651 r24676  
    66LIBGFORTRAN="/usr/lib/x86_64-linux-gnu/libgfortran.so.5.0.0" # Important that this is the library itself
    77LIBGFORTRAN_DIST="${ISSM_DIR}/lib/libgfortran.so.5" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
    8 MATLAB_NROPTIONS="'id',[IdFromString('Dakota')],'exclude',[234,244,250,417,444,445]" # Exclude any tests with transient solutions that require a restart
     8MATLAB_NROPTIONS="'id',[IdFromString('Dakota')],'exclude',[234,243,244,250,417,444,445,701,702]" # Exclude any tests with transient solutions that require a restart
    99MATLAB_PATH="/usr/local/MATLAB/R2019b"
    1010PACKAGE="ISSM" # Name of directory to copy distributable files to
     
    1616# - 418 fails with "malloc(): invalid next size (unsorted)""
    1717#
    18 PYTHON_NROPTIONS="--include_name 'Dakota' --exclude 234 244 250 417 418 444 445"
     18PYTHON_NROPTIONS="--include_name 'Dakota' --exclude 234 243 244 250 417 418 435 444 445 701 702"
    1919TARBALL_NAME="issm-linux-with_dakota"
    2020TARBALL="${TARBALL_NAME}.tar.gz"
  • issm/trunk-jpl/packagers/mac/package-issm-mac-binaries-with_dakota.sh

    r24651 r24676  
    44## Constants
    55#
    6 LIBGFORTRAN="/usr/local/gfortran/lib/libgfortran.3.dylib" # Important that this is the library itself
    7 LIBGFORTRAN_DIST="${ISSM_DIR}/lib/libgfortran.3.dylib" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
    8 MATLAB_NROPTIONS="'id',[IdFromString('Dakota')],'exclude',[234,244,250,417,444,445]" # Exclude any tests with transient solutions that require a restart
    9 MATLAB_PATH="/Applications/MATLAB_R2015b.app"
     6MATLAB_NROPTIONS="'id',[IdFromString('Dakota')],'exclude',[234,244,250,417,435,444,445,701,702,703]" # Exclude any tests with transient solutions that require a restart, and any tests that are excluded in the standard build
     7MATLAB_PATH="/Applications/MATLAB_R2018a.app"
    108PACKAGE="ISSM" # Name of directory to copy distributable files to
    119
     
    1311#
    1412# NOTE:
    15 # - All non-excluded tests were running until recent changes to QMU
    1613# - 418 fails with "malloc(): invalid next size (unsorted)""
    1714#
    18 PYTHON_NROPTIONS="--include_name 'Dakota' --exclude 234 244 250 417 418 444 445"
     15PYTHON_NROPTIONS="--include_name 'Dakota' --exclude 234 244 250 417 418 435 444 445 701 702 703"
    1916TARBALL_NAME="issm-mac-with_dakota"
    2017TARBALL="${TARBALL_NAME}.tar.gz"
     
    4441        exit 1
    4542fi
    46 
    47 # Add/modify required libraries
    48 echo "Moving libgfortran to lib/"
    49 cp ${LIBGFORTRAN} ${LIBGFORTRAN_DIST} 2> /dev/null
    5043
    5144# Run tests
  • issm/trunk-jpl/packagers/mac/package-issm-mac-binaries.sh

    r24651 r24676  
    44## Constants
    55#
    6 LIBGFORTRAN="/usr/local/gfortran/lib/libgfortran.3.dylib" # Important that this is the library itself
    7 LIBGFORTRAN_DIST="${ISSM_DIR}/lib/libgfortran.3.dylib" # Important the file name matches the SONAME entry in the binaries and other shared libraries which link to it
    8 MATLAB_NROPTIONS="'exclude',[IdFromString('Dakota'),125,126]" # Exclude Dakota tests and any tests with transient solutions that require a restart
    9 MATLAB_PATH="/Applications/MATLAB_R2015b.app"
     6MATLAB_NROPTIONS="'exclude',[IdFromString('Dakota'),125,126,435,701,702,703]" # Exclude Dakota tests, any tests with transient solutions that require a restart, and any tests that are excluded in the standard build
     7MATLAB_PATH="/Applications/MATLAB_R2018a.app"
    108PACKAGE="ISSM" # Name of directory to copy distributable files to
    119TARBALL_NAME="issm-mac"
     
    3533        exit 1
    3634fi
    37 
    38 echo "Moving libgfortran to lib/"
    39 cp ${LIBGFORTRAN} ${LIBGFORTRAN_DIST} 2> /dev/null
    4035
    4136# Run tests
  • issm/trunk-jpl/src/c/Makefile.am

    r24653 r24676  
    723723if STANDALONE_EXECUTABLES
    724724if MAC
    725 AM_LDFLAGS += -Wl,-rpath,'$$ORIGIN'
    726 else
    727 AM_LDFLAGS += -static -Wl,--disable-new-dtags -Wl,-rpath,'$$ORIGIN'
     725AM_LDFLAGS += -Wl,-rpath,'@loader_path/../lib'
     726else
     727AM_LDFLAGS += -static -Wl,--disable-new-dtags -Wl,-rpath,'$$ORIGIN/../lib'
    728728endif
    729729endif
  • issm/trunk-jpl/src/wrappers/matlab/Makefile.am

    r24662 r24676  
    9393#       will be linked to, whether we like it or not, if no static version is
    9494#       available.
    95 # - On macOC, static linking of binaries is not supported.
     95# - On macOS, static linking of binaries is not supported.
    9696#
    9797if STANDALONE_MODULES
    98 #if MAC
    99 #AM_LDFLAGS += -Wl,-rpath,'$$ORIGIN'
    100 #else
     98if MAC
     99AM_LDFLAGS += -Wl,-rpath,'@rpath'
     100else
    101101AM_LDFLAGS += -Wl,-static -Wl,--disable-new-dtags -Wl,-rpath,'$$ORIGIN'
    102102endif
    103 #endif
     103endif
    104104
    105105AM_CXXFLAGS += -D_HAVE_MATLAB_MODULES_ -fPIC
  • issm/trunk-jpl/src/wrappers/python/Makefile.am

    r24662 r24676  
    6969#       will be linked to, whether we like it or not, if no static version is
    7070#       available.
    71 # - On macOC, static linking of binaries is not supported.
     71# - On macOS, static linking of binaries is not supported.
    7272#
    7373if STANDALONE_MODULES
    74 #if MAC
    75 #AM_LDFLAGS += -Wl,-rpath,'$$ORIGIN'
    76 #else
     74if MAC
     75AM_LDFLAGS += -Wl,-rpath,'@rpath'
     76else
    7777AM_LDFLAGS += -Wl,-static -Wl,--disable-new-dtags -Wl,-rpath,'$$ORIGIN'
    7878endif
    79 #endif
     79endif
    8080
    8181AM_LDFLAGS      += --no-warnings
Note: See TracChangeset for help on using the changeset viewer.