Merge branch 'ruby-bigendian'

* ruby-bigendian:
  Travis ruby s390x (big endian) architecture testing
  Install libpcre3-dev for Linux builds
  Don't fail the build if CPU model or memory can't be detected
  Switch one of Travis CI Ruby builds to use s390x arch
diff --git a/.travis.yml b/.travis.yml
index 385e7be..d13bd9b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -419,6 +419,11 @@
       env: SWIGLANG=python GCC=9 CPP17=1 PY3=3 VER=3.8
       sudo: required
       dist: xenial
+    - os: linux
+      arch: s390x
+      env: SWIGLANG=ruby CPP11=1
+      sudo: required
+      dist: xenial
     - compiler: gcc
       os: osx
       env: SWIGLANG=
@@ -468,6 +473,12 @@
       osx_image: xcode10.2
 
   allow_failures:
+    # li_std_wstring failure see https://github.com/swig/swig/pull/1803
+    - os: linux
+      arch: s390x
+      env: SWIGLANG=ruby CPP11=1
+      sudo: required
+      dist: xenial
     # Newer version of D not yet working/supported
     - compiler: gcc
       os: linux
@@ -495,7 +506,7 @@
 before_install:
   - date -u
   - uname -a
-  - if test "$TRAVIS_OS_NAME" = "linux"; then lscpu && cat /proc/cpuinfo | grep "model name" && cat /proc/meminfo | grep MemTotal; fi
+  - if test "$TRAVIS_OS_NAME" = "linux"; then lscpu; grep "model name" /proc/cpuinfo || echo 'Unknown CPU model'; grep "MemTotal" /proc/meminfo || echo 'Unknown system memory amount'; fi
   - if test "$TRAVIS_OS_NAME" = "osx"; then sysctl -a | grep brand_string; fi
   # Travis overrides CC environment with compiler predefined values
   - if test -n "$GCC"; then export CC="gcc-$GCC" && export CXX="g++-$GCC"; fi
diff --git a/Tools/travis-linux-install.sh b/Tools/travis-linux-install.sh
index c8347d2..d515708 100755
--- a/Tools/travis-linux-install.sh
+++ b/Tools/travis-linux-install.sh
@@ -13,7 +13,7 @@
 	travis_retry sudo apt-get install -qq g++-$GCC
 fi
 
-travis_retry sudo apt-get -qq install libboost-dev
+travis_retry sudo apt-get -qq install libboost-dev libpcre3-dev
 
 WITHLANG=$SWIGLANG