#!/bin/bash set -eu set -o pipefail shopt -s nullglob : ' Ensure no GLIBCXX_3.4.2x symbols are present in the binary if ENABLE_GLIBC_WORKAROUND is set. If symbols >= 3.4.20 then it means the binaries would not run on ubuntu trusty without upgrading libstdc++ ' function check() { local RESULT=0 nm ${1} | grep "GLIBCXX_3.4.2[0-9]" > /tmp/out.txt || RESULT=$? if [[ ${RESULT} != 0 ]]; then echo "Success: GLIBCXX_3.4.2[0-9] symbols not present in binary (as expected)" else echo "$(cat /tmp/out.txt | c++filt)" exit 1 fi } if [[ ${ENABLE_GLIBC_WORKAROUND:-false} == true ]]; then for i in src/libmapnik*; do echo "checking $i" check $i done fi