5 RUN yum update -y && yum install -y centos-release-scl epel-release
6 RUN yum install -y devtoolset-${TOOLSET_VER} \
10 && source /opt/rh/devtoolset-${TOOLSET_VER}/enable
12 RUN echo "source /opt/rh/devtoolset-${TOOLSET_VER}/enable" >> /etc/bashrc
13 RUN echo "BOOST_LIBRARYDIR=/usr/lib64/boost169" >> /etc/bashrc
14 RUN echo "BOOST_INCLUDEDIR=/usr/include/boost169" >> /etc/bashrc
16 ARG GRPC_VERSION=v1.43.2
19 RUN git clone --depth=1 -b $GRPC_VERSION https://github.com/grpc/grpc.git \
20 && cd grpc && git submodule update --init \
21 && mkdir -p "third_party/abseil-cpp/build" && cd "third_party/abseil-cpp/build" \
22 && source /opt/rh/devtoolset-${TOOLSET_VER}/enable \
23 && cmake3 -DCMAKE_CXX_STANDARD=17 -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE .. \
24 && make -j${nproc} install && cd ../../.. \
25 && mkdir build && cd build \
27 -DCMAKE_CXX_STANDARD=17 \
28 -DCMAKE_BUILD_TYPE=Release \
30 -DgRPC_BUILD_TESTS=OFF \
31 -DgRPC_ABSL_PROVIDER=package \
32 -DgRPC_SSL_PROVIDER=package \
34 make -j${nproc} install && make clean && ldconfig
37 ARG THRIFT_VERSION=0.14.1
42 && wget https://github.com/apache/thrift/archive/refs/tags/v$THRIFT_VERSION.tar.gz \
43 && tar -xvf v$THRIFT_VERSION.tar.gz \
44 && mkdir -p thrift-$THRIFT_VERSION/build && cd thrift-$THRIFT_VERSION/build \
45 && source /opt/rh/devtoolset-${TOOLSET_VER}/enable \
46 && export BOOST_INCLUDEDIR=/usr/include/boost169 \
47 && export BOOST_LIBRARYDIR=/usr/lib64/boost169 \
49 -DCMAKE_BUILD_TYPE=Release \
50 -DBUILD_COMPILER=OFF \
52 -DBUILD_LIBRARIES=ON \
55 -DBUILD_JAVASCRIPT=OFF \
59 -DBUILD_TUTORIALS=OFF \
60 -DWITH_STDTHREADS=ON \
61 -DWITH_BOOSTTHREADS=OFF \
62 -DWITH_BOOST_FUNCTIONAL=OFF \
63 -DWITH_BOOST_SMART_PTR=OFF \
65 && make -j${nproc} && make install && ldconfig
67 #install opentelemetry-cpp
68 RUN git clone --depth=1 https://github.com/open-telemetry/opentelemetry-cpp.git \
69 && cd opentelemetry-cpp && git submodule update --init \
70 && mkdir -p build && cd build \
71 && source /opt/rh/devtoolset-${TOOLSET_VER}/enable \
72 && export BOOST_INCLUDEDIR=/usr/include/boost169 \
73 && export BOOST_LIBRARYDIR=/usr/lib64/boost169 \
75 -DCMAKE_BUILD_TYPE=Release \
76 -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
82 && make -j${nproc} install && ldconfig