See <
http://build.ros.org/job/Kdev__realsense2_camera__ubuntu_xenial_amd64/20/display/redirect>
------------------------------------------
[...truncated 63.45 KB...]
ENV DEBIAN_FRONTEND noninteractive
RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV TZ UTC+00
RUN useradd -u 1001 -l -m buildfarm
RUN mkdir /tmp/keys
RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQoA\nPhYhBMHPbjHmut6IaLFytPQu1vurF8ZUBQJc7yaWAhsDBQkDwmcABQsJCAcCBhUK\nCQgLAgQWAgMBAh4BAheAAAoJEPQu1vurF8ZUkhIP/RbZY1ErvCEUy8iLJm9aSpLQ\nnDZl5xILOxyZlzpg+Ml5bb0EkQDr92foCgcvLeANKARNCaGLyNIWkuyDovPV0xZJ\nrEy0kgBrDNb3++NmdI/+GA92pkedMXXioQvqdsxUagXAIB/sNGByJEhs37F05AnF\nvZbjUhceq3xTlvAMcrBWrgB4NwBivZY6IgLvl/CRQpVYwANShIQdbvHvZSxRonWh\nNXr6v/Wcf8rsp7g2VqJ2N2AcWT84aa9BLQ3Oe/SgrNx4QEhA1y7rc3oaqPVu5ZXO\nK+4O14JrpbEZ3Xs9YEjrcOuEDEpYktA8qqUDTdFyZrxb9S6BquUKrA6jZgT913kj\nJ4e7YAZobC4rH0w4u0PrqDgYOkXA9Mo7L601/7ZaDJob80UcK+Z12ZSw73IgBix6\nDiJVfXuWkk5PM2zsFn6UOQXUNlZlDAOj5NC01V0fJ8P0v6GO9YOSSQx0j5UtkUbR\nfp/4W7uCPFvwAatWEHJhlM3sQNiMNStJFegr56xQu1a/cbJH7GdbseMhG/f0BaKQ\nqXCI3ffB5y5AOLc9Hw7PYiTFQsuY1ePRhE+J9mejgWRZxkjAH/FlAubqXkDgterC\nh+sLkzGf+my2IbsMCuc+3aeNMJ5Ej/vlXefCH/MpPWAHCqpQhe2DET/jRSaM53US\nAHNx8kw4MPUkxExgI7Sd\n=4Ofr\n-----END PGP PUBLIC KEY BLOCK-----\n" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
RUN echo deb
http://repositories.ros.org/ubuntu/building xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list
RUN grep -q -F -e "deb
http://old-releases.ubuntu.com" /etc/apt/sources.list && ((grep -q -E -x -e "deb
http://old-releases\.ubuntu\.com/ubuntu/? xenial ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb
http://old-releases.ubuntu.com/ubuntu/ xenial multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://old-releases\.ubuntu\.com/ubuntu/? xenial ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb-src
http://old-releases.ubuntu.com/ubuntu/ xenial multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb
http://old-releases\.ubuntu\.com/ubuntu/? xenial-updates ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb
http://old-releases.ubuntu.com/ubuntu/ xenial-updates multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://old-releases\.ubuntu\.com/ubuntu/? xenial-updates ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb-src
http://old-releases.ubuntu.com/ubuntu/ xenial-updates multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb
http://old-releases\.ubuntu\.com/ubuntu/? xenial-security ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb
http://old-releases.ubuntu.com/ubuntu/ xenial-security multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://old-releases\.ubuntu\.com/ubuntu/? xenial-security ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb-src
http://old-releases.ubuntu.com/ubuntu/ xenial-security multiverse" >> /etc/apt/sources.list)) || ((grep -q -E -x -e "deb
http://archive\.ubuntu\.com/ubuntu/? xenial ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb
http://archive.ubuntu.com/ubuntu/ xenial multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://archive\.ubuntu\.com/ubuntu/? xenial ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb-src
http://archive.ubuntu.com/ubuntu/ xenial multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb
http://archive\.ubuntu\.com/ubuntu/? xenial-updates ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb
http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://archive\.ubuntu\.com/ubuntu/? xenial-updates ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb-src
http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb
http://archive\.ubuntu\.com/ubuntu/? xenial-security ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb
http://archive.ubuntu.com/ubuntu/ xenial-security multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://archive\.ubuntu\.com/ubuntu/? xenial-security ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb-src
http://archive.ubuntu.com/ubuntu/ xenial-security multiverse" >> /etc/apt/sources.list))
RUN mkdir /tmp/wrapper_scripts
RUN echo "#!/usr/bin/env python3\n\n# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#
http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
RUN echo "#!/usr/bin/env python3\n\n# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#
http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
# automatic invalidation once every day
RUN echo "2019-10-28 (+0000)"
RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y ccache
ENV ROS_PYTHON_VERSION=2
# for each dependency: echo version, apt update, apt install, apt clean
# to prevent exceeding the docker layer limit several lines have been folded
RUN echo "build-essential: 12.1ubuntu2" && echo "python3: 3.5.1-3" && echo "ros-kinetic-catkin: 0.7.18-1xenial-20190607-163525-0800" && echo "ros-kinetic-cv-bridge: 1.12.8-0xenial-20190608-051419-0800" && echo "ros-kinetic-ddynamic-reconfigure: 0.2.0-0xenial-20190608-045122-0800" && echo "ros-kinetic-diagnostic-updater: 1.9.3-0xenial-20190608-034456-0800" && echo "ros-kinetic-genmsg: 0.5.11-0xenial-20190607-165837-0800" && echo "ros-kinetic-image-transport: 1.11.13-0xenial-20190608-051447-0800" && echo "ros-kinetic-librealsense2: 2.25.2-1xenial-20190821-190058+0000" && echo "ros-kinetic-message-runtime: 0.4.12-0xenial-20190607-184412-0800" && echo "ros-kinetic-nav-msgs: 1.12.7-0xenial-20190607-190308-0800" && echo "ros-kinetic-nodelet: 1.9.14-0xenial-20190607-225912-0800" && echo "ros-kinetic-roscpp: 1.12.14-0xenial-20190607-215217-0800" && echo "ros-kinetic-sensor-msgs: 1.12.7-0xenial-20190608-042908-0800" && echo "ros-kinetic-std-msgs: 0.5.11-0xenial-20190607-184724-0800" && echo "ros-kinetic-tf: 1.11.9-0xenial-20190608-052701-0800" && echo "ros-kinetic-xacro: 1.11.3-0xenial-20190608-040059-0800" && python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y -o Debug::pkgProblemResolver=yes build-essential python3 ros-kinetic-catkin ros-kinetic-cv-bridge ros-kinetic-ddynamic-reconfigure ros-kinetic-diagnostic-updater ros-kinetic-genmsg ros-kinetic-image-transport ros-kinetic-librealsense2 ros-kinetic-message-runtime ros-kinetic-nav-msgs ros-kinetic-nodelet ros-kinetic-roscpp ros-kinetic-sensor-msgs ros-kinetic-std-msgs ros-kinetic-tf ros-kinetic-xacro
# After all dependencies are installed, update ccache symlinks.
# This command is supposed to be invoked whenever a new compiler is installed
# but that isn't happening. So we invoke it here to make sure all compilers are
# picked up.
# TODO(nuclearsandwich) add link to Debian bug report when one is opened.
RUN which update-ccache-symlinks >/dev/null 2>&1 && update-ccache-symlinks
USER buildfarm
ENTRYPOINT ["sh", "-c"]
CMD ["PATH=/usr/lib/ccache:$PATH PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/build_and_test.py --rosdistro-name kinetic --build-tool catkin_make_isolated --workspace-root /tmp/ws --parent-result-space"]
Mount the following volumes when running the container:
-v /tmp/ros_buildfarm:/tmp/ros_buildfarm:ro
-v /tmp/ws:/tmp/ws
+ cd -
<
http://build.ros.org/job/Kdev__realsense2_camera__ubuntu_xenial_amd64/ws/>
+ echo # END SECTION
# END SECTION
[Kdev__realsense2_camera__ubuntu_xenial_amd64] $ /bin/sh -xe /tmp/jenkins3042597785307409071.sh
+ sleep 1
+ python3 -u <
http://build.ros.org/job/Kdev__realsense2_camera__ubuntu_xenial_amd64/ws/ros_buildfarm/scripts/subprocess_reaper.py> 2857 --cid-file <
http://build.ros.org/job/Kdev__realsense2_camera__ubuntu_xenial_amd64/ws/docker_build_and_install/docker.cid>
+ echo # BEGIN SECTION: Build Dockerfile - build and install
# BEGIN SECTION: Build Dockerfile - build and install
+ cd <
http://build.ros.org/job/Kdev__realsense2_camera__ubuntu_xenial_amd64/ws/docker_build_and_install>
+ python3 -u <
http://build.ros.org/job/Kdev__realsense2_camera__ubuntu_xenial_amd64/ws/ros_buildfarm/scripts/misc/docker_pull_baseimage.py>
Get base image name from Dockerfile 'Dockerfile': ubuntu:xenial
Check docker base image for updates: docker pull ubuntu:xenial
xenial: Pulling from library/ubuntu
Digest: sha256:c4fcf8718cd249cfd7703563200051850828be90070358fe7bcc6e137271d070
Status: Image is up to date for ubuntu:xenial
docker.io/library/ubuntu:xenial
+ docker build --force-rm -t devel_build_and_install.kinetic_realsense2_camera .
Sending build context to Docker daemon 19.97kB
Step 1/25 : FROM ubuntu:xenial
---> b9409899fe86
Step 2/25 : VOLUME ["/var/cache/apt/archives"]
---> Using cache
---> 5223006725d3
Step 3/25 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> acf6f5c4e904
Step 4/25 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 8369e3514439
Step 5/25 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Using cache
---> 5c84b6dfa9fd
Step 6/25 : RUN locale-gen en_US.UTF-8
---> Using cache
---> 3e531b246553
Step 7/25 : ENV LANG en_US.UTF-8
---> Using cache
---> 05dcf138f91b
Step 8/25 : ENV TZ UTC+00
---> Using cache
---> 23b293042b4f
Step 9/25 : RUN useradd -u 1001 -l -m buildfarm
---> Using cache
---> 22d7e167be34
Step 10/25 : RUN mkdir /tmp/keys
---> Using cache
---> 39304e280e23
Step 11/25 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQoA\nPhYhBMHPbjHmut6IaLFytPQu1vurF8ZUBQJc7yaWAhsDBQkDwmcABQsJCAcCBhUK\nCQgLAgQWAgMBAh4BAheAAAoJEPQu1vurF8ZUkhIP/RbZY1ErvCEUy8iLJm9aSpLQ\nnDZl5xILOxyZlzpg+Ml5bb0EkQDr92foCgcvLeANKARNCaGLyNIWkuyDovPV0xZJ\nrEy0kgBrDNb3++NmdI/+GA92pkedMXXioQvqdsxUagXAIB/sNGByJEhs37F05AnF\nvZbjUhceq3xTlvAMcrBWrgB4NwBivZY6IgLvl/CRQpVYwANShIQdbvHvZSxRonWh\nNXr6v/Wcf8rsp7g2VqJ2N2AcWT84aa9BLQ3Oe/SgrNx4QEhA1y7rc3oaqPVu5ZXO\nK+4O14JrpbEZ3Xs9YEjrcOuEDEpYktA8qqUDTdFyZrxb9S6BquUKrA6jZgT913kj\nJ4e7YAZobC4rH0w4u0PrqDgYOkXA9Mo7L601/7ZaDJob80UcK+Z12ZSw73IgBix6\nDiJVfXuWkk5PM2zsFn6UOQXUNlZlDAOj5NC01V0fJ8P0v6GO9YOSSQx0j5UtkUbR\nfp/4W7uCPFvwAatWEHJhlM3sQNiMNStJFegr56xQu1a/cbJH7GdbseMhG/f0BaKQ\nqXCI3ffB5y5AOLc9Hw7PYiTFQsuY1ePRhE+J9mejgWRZxkjAH/FlAubqXkDgterC\nh+sLkzGf+my2IbsMCuc+3aeNMJ5Ej/vlXefCH/MpPWAHCqpQhe2DET/jRSaM53US\nAHNx8kw4MPUkxExgI7Sd\n=4Ofr\n-----END PGP PUBLIC KEY BLOCK-----\n" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Using cache
---> 4e6379ab5657
Step 12/25 : RUN echo deb
http://repositories.ros.org/ubuntu/building xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Using cache
---> f71991e5983e
Step 13/25 : RUN grep -q -F -e "deb
http://old-releases.ubuntu.com" /etc/apt/sources.list && ((grep -q -E -x -e "deb
http://old-releases\.ubuntu\.com/ubuntu/? xenial ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb
http://old-releases.ubuntu.com/ubuntu/ xenial multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://old-releases\.ubuntu\.com/ubuntu/? xenial ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb-src
http://old-releases.ubuntu.com/ubuntu/ xenial multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb
http://old-releases\.ubuntu\.com/ubuntu/? xenial-updates ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb
http://old-releases.ubuntu.com/ubuntu/ xenial-updates multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://old-releases\.ubuntu\.com/ubuntu/? xenial-updates ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb-src
http://old-releases.ubuntu.com/ubuntu/ xenial-updates multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb
http://old-releases\.ubuntu\.com/ubuntu/? xenial-security ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb
http://old-releases.ubuntu.com/ubuntu/ xenial-security multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://old-releases\.ubuntu\.com/ubuntu/? xenial-security ([-a-z]+ )*multiverse( [-a-z]+)*" /etc/apt/sources.list || echo "deb-src
http://old-releases.ubuntu.com/ubuntu/ xenial-security multiverse" >> /etc/apt/sources.list)) || ((grep -q -E -x -e "deb
http://archive\.ubuntu\.com/ubuntu/? xenial ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb
http://archive.ubuntu.com/ubuntu/ xenial multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://archive\.ubuntu\.com/ubuntu/? xenial ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb-src
http://archive.ubuntu.com/ubuntu/ xenial multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb
http://archive\.ubuntu\.com/ubuntu/? xenial-updates ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb
http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://archive\.ubuntu\.com/ubuntu/? xenial-updates ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb-src
http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb
http://archive\.ubuntu\.com/ubuntu/? xenial-security ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb
http://archive.ubuntu.com/ubuntu/ xenial-security multiverse" >> /etc/apt/sources.list) && (grep -q -E -x -e "deb-src
http://archive\.ubuntu\.com/ubuntu/? xenial-security ([-a-z]+ )*multiverse( [-a-z])*" /etc/apt/sources.list || echo "deb-src
http://archive.ubuntu.com/ubuntu/ xenial-security multiverse" >> /etc/apt/sources.list))
---> Using cache
---> cef9d2178513
Step 14/25 : RUN mkdir /tmp/wrapper_scripts
---> Using cache
---> f2e77563cecc
Step 15/25 : RUN echo "#!/usr/bin/env python3\n\n# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#
http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Using cache
---> eda2559be49d
Step 16/25 : RUN echo "#!/usr/bin/env python3\n\n# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#
http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Using cache
---> 04ce5d98052e
Step 17/25 : RUN echo "2019-10-28 (+0000)"
---> Using cache
---> 5f4524e332da
Step 18/25 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 9527438673dd
Step 19/25 : RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y ccache
---> Using cache
---> 871b7e52223c
Step 20/25 : ENV ROS_PYTHON_VERSION=2
---> Using cache
---> d18af85489da
Step 21/25 : RUN echo "build-essential: 12.1ubuntu2" && echo "python3: 3.5.1-3" && echo "ros-kinetic-catkin: 0.7.18-1xenial-20190607-163525-0800" && echo "ros-kinetic-cv-bridge: 1.12.8-0xenial-20190608-051419-0800" && echo "ros-kinetic-ddynamic-reconfigure: 0.2.0-0xenial-20190608-045122-0800" && echo "ros-kinetic-diagnostic-updater: 1.9.3-0xenial-20190608-034456-0800" && echo "ros-kinetic-genmsg: 0.5.11-0xenial-20190607-165837-0800" && echo "ros-kinetic-image-transport: 1.11.13-0xenial-20190608-051447-0800" && echo "ros-kinetic-librealsense2: 2.25.2-1xenial-20190821-190058+0000" && echo "ros-kinetic-message-runtime: 0.4.12-0xenial-20190607-184412-0800" && echo "ros-kinetic-nav-msgs: 1.12.7-0xenial-20190607-190308-0800" && echo "ros-kinetic-nodelet: 1.9.14-0xenial-20190607-225912-0800" && echo "ros-kinetic-roscpp: 1.12.14-0xenial-20190607-215217-0800" && echo "ros-kinetic-sensor-msgs: 1.12.7-0xenial-20190608-042908-0800" && echo "ros-kinetic-std-msgs: 0.5.11-0xenial-20190607-184724-0800" && echo "ros-kinetic-tf: 1.11.9-0xenial-20190608-052701-0800" && python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y -o Debug::pkgProblemResolver=yes build-essential python3 ros-kinetic-catkin ros-kinetic-cv-bridge ros-kinetic-ddynamic-reconfigure ros-kinetic-diagnostic-updater ros-kinetic-genmsg ros-kinetic-image-transport ros-kinetic-librealsense2 ros-kinetic-message-runtime ros-kinetic-nav-msgs ros-kinetic-nodelet ros-kinetic-roscpp ros-kinetic-sensor-msgs ros-kinetic-std-msgs ros-kinetic-tf
---> Using cache
---> 2b66271d9496
Step 22/25 : RUN which update-ccache-symlinks >/dev/null 2>&1 && update-ccache-symlinks
---> Using cache
---> 8891003e3ca3
Step 23/25 : USER buildfarm
---> Using cache
---> 6f4f6583efd7
Step 24/25 : ENTRYPOINT ["sh", "-c"]
---> Using cache
---> d4cf5adaf087
Step 25/25 : CMD ["PATH=/usr/lib/ccache:$PATH PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/build_and_install.py --rosdistro-name kinetic --clean-before --build-tool catkin_make_isolated --workspace-root /tmp/ws --parent-result-space"]
---> Using cache
---> fabd8dc967f5
Successfully built fabd8dc967f5
Successfully tagged devel_build_and_install.kinetic_realsense2_camera:latest
+ echo # END SECTION
# END SECTION
+ echo # BEGIN SECTION: Run Dockerfile - build and install
# BEGIN SECTION: Run Dockerfile - build and install
+ docker run --rm --cidfile=<
http://build.ros.org/job/Kdev__realsense2_camera__ubuntu_xenial_amd64/ws/docker_build_and_install/docker.cid> -e=TRAVIS= -v <
http://build.ros.org/job/Kdev__realsense2_camera__ubuntu_xenial_amd64/ws/ros_buildfarm>:/tmp/ros_buildfarm:ro -v <
http://build.ros.org/job/Kdev__realsense2_camera__ubuntu_xenial_amd64/ws/ws>:/tmp/ws -v /home/jenkins-agent/.ccache:/home/buildfarm/.ccache devel_build_and_install.kinetic_realsense2_camera
# BEGIN SUBSECTION: build workspace in isolation and install
Invoking '_CATKIN_SETUP_DIR=/opt/ros/kinetic . /opt/ros/kinetic/setup.sh && PYTHONIOENCODING=utf_8 PYTHONUNBUFFERED=1 catkin_make_isolated --install --cmake-args -DBUILD_TESTING=0 -DCATKIN_SKIP_TESTING=1' in '/tmp/ws'
Base path: /tmp/ws
Source space: /tmp/ws/src
Build space: /tmp/ws/build_isolated
Devel space: /tmp/ws/devel_isolated
Install space: /tmp/ws/install_isolated
Additional CMake Arguments: -DBUILD_TESTING=0 -DCATKIN_SKIP_TESTING=1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~ traversing 2 packages in topological order:
~~ - realsense2_camera
~~ - realsense2_description
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The packages or cmake arguments have changed, forcing cmake invocation
==> Processing catkin package: 'realsense2_camera'
==> Creating build directory: 'build_isolated/realsense2_camera'
==> cmake /tmp/ws/src/realsense2_camera/realsense2_camera -DCATKIN_DEVEL_PREFIX=/tmp/ws/devel_isolated/realsense2_camera -DCMAKE_INSTALL_PREFIX=/tmp/ws/install_isolated -DBUILD_TESTING=0 -DCATKIN_SKIP_TESTING=1 -G Unix Makefiles in '/tmp/ws/build_isolated/realsense2_camera'
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/lib/ccache/cc
-- Check for working C compiler: /usr/lib/ccache/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/lib/ccache/c++
-- Check for working CXX compiler: /usr/lib/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /tmp/ws/devel_isolated/realsense2_camera
-- Using CMAKE_PREFIX_PATH: /opt/ros/kinetic
-- This workspace overlays: /opt/ros/kinetic
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.12", minimum required is "2")
-- Using PYTHON_EXECUTABLE: /usr/bin/python2
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_SKIP_TESTING: 1 (implying CATKIN_ENABLE_TESTING=OFF)
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /tmp/ws/build_isolated/realsense2_camera/test_results
-- Found gmock sources under '/usr/src/gmock': gmock will be built
-- Found PythonInterp: /usr/bin/python2 (found version "2.7.12")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found gtest sources under '/usr/src/gmock': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.18
-- BUILD_SHARED_LIBS is on
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
CMake Warning at CMakeLists.txt:37 (find_package):
Could not find a configuration file for package "realsense2" that is
compatible with requested version "2.29.0".
The following configuration files were considered but not accepted:
/opt/ros/kinetic/lib/x86_64-linux-gnu/cmake/realsense2/realsense2Config.cmake, version: 2.25.1
CMake Error at CMakeLists.txt:39 (message):
Intel RealSense SDK 2.0 is missing, please install it from
https://github.com/IntelRealSense/librealsense/releases
-- Configuring incomplete, errors occurred!
See also "/tmp/ws/build_isolated/realsense2_camera/CMakeFiles/CMakeOutput.log".
See also "/tmp/ws/build_isolated/realsense2_camera/CMakeFiles/CMakeError.log".
<== Failed to process package 'realsense2_camera':
Command '['cmake', '/tmp/ws/src/realsense2_camera/realsense2_camera', '-DCATKIN_DEVEL_PREFIX=/tmp/ws/devel_isolated/realsense2_camera', '-DCMAKE_INSTALL_PREFIX=/tmp/ws/install_isolated', '-DBUILD_TESTING=0', '-DCATKIN_SKIP_TESTING=1', '-G', 'Unix Makefiles']' returned non-zero exit status 1
Reproduce this error by running:
==> cd /tmp/ws/build_isolated/realsense2_camera && cmake /tmp/ws/src/realsense2_camera/realsense2_camera -DCATKIN_DEVEL_PREFIX=/tmp/ws/devel_isolated/realsense2_camera -DCMAKE_INSTALL_PREFIX=/tmp/ws/install_isolated -DBUILD_TESTING=0 -DCATKIN_SKIP_TESTING=1 -G 'Unix Makefiles'
Command failed, exiting.
# END SUBSECTION
Build step 'Execute shell' marked build as failure
[WARNINGS] Skipping publisher since build result is FAILURE
INFO: Starting to record.
INFO: Processing GoogleTest-1.6
INFO: [GoogleTest-1.6] - No test report file(s) were found with the pattern 'GoogleTest-1.6' relative to 'ws/test_results/**/*.xml' for the testing framework '<
http://build.ros.org/job/Kdev__realsense2_camera__ubuntu_xenial_amd64/ws/'.>
Did you enter a pattern relative to (and within) the workspace directory?
Did you generate the result report(s) for 'GoogleTest-1.6'?"
INFO: Skipping tests recording.