1# Copyright 2021 Google LLC 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14# 15################################################################################ 16 17FROM gcr.io/oss-fuzz-base/base-builder 18RUN apt-get update && apt-get install -y make cmake autoconf \ 19 automake libtool gettext pkg-config build-essential \ 20 mercurial wget libeigen3-dev libflann-dev python python-dev 21 22# VTK deps 23RUN apt-get update && apt-get install -y \ 24 libavcodec-dev libavformat-dev libavutil-dev libboost-dev \ 25 libdouble-conversion-dev libeigen3-dev libexpat1-dev \ 26 libfontconfig-dev libfreetype6-dev libgdal-dev libglew-dev \ 27 libhdf5-dev libjpeg-dev libjsoncpp-dev liblz4-dev liblzma-dev \ 28 libnetcdf-dev libnetcdf-cxx-legacy-dev libogg-dev libpng-dev \ 29 libpython3-dev libqt5opengl5-dev libqt5x11extras5-dev libsqlite3-dev \ 30 libswscale-dev libtheora-dev libtiff-dev libxml2-dev libxt-dev \ 31 qtbase5-dev qttools5-dev zlib1g-dev 32 33# Install and build boost from source so we can have it use libc++ 34RUN wget https://sourceforge.net/projects/boost/files/boost/1.70.0/boost_1_70_0.tar.gz && \ 35 tar xzf boost_1_70_0.tar.gz && \ 36 cd boost_1_70_0 && \ 37 ./bootstrap.sh --with-toolset=clang && \ 38 ./b2 clean && \ 39 ./b2 toolset=clang cxxflags="-stdlib=libc++" linkflags="-stdlib=libc++" -j$(nproc) install && \ 40 cd .. && \ 41 rm -rf boost_1_70_0] 42 43RUN git clone --depth 1 https://github.com/PointCloudLibrary/pcl 44COPY build.sh $SRC/ 45WORKDIR $SRC/ 46