This area contains Dockerfiles for images suitable for use as the
first stage in a multi-stage Docker build. These images have large
-build and compile tools like C, C++, Golang, cmake, ninja, etc.
-Using these base images reduces the time needed to build Docker
-images with project features. The images are published to the O-RAN-SC
-Nexus3 staging registry at the Linux Foundation.
+build and compile tools like C, C++, Golang, cmake, ninja, etc. Using
+these base images reduces the time needed to build Docker images with
+project features. The images are published to the O-RAN-SC staging
+registry at the Linux Foundation: nexus3.o-ran-sc.org:10004
# golang 1.13.8
# alpine 3.11
# rmr 3.x
-# Installing this version of rmr also pulls in nng
# install a well known working rmr
FROM golang:1.13.8-alpine3.11
RUN apk update && apk add autoconf automake build-base cmake libtool ninja pkgconfig git sudo
-RUN git clone --branch 3.6.3 https://gerrit.oran-osc.org/r/ric-plt/lib/rmr \
+RUN git clone --branch 3.7.1 https://gerrit.oran-osc.org/r/ric-plt/lib/rmr \
&& cd rmr \
&& mkdir .build; cd .build \
&& echo "<<<installing rmr devel headers>>>" \
&& cmake .. -DDEV_PKG=1; make install \
&& echo "<<< installing rmr .so>>>" \
- && cmake .. -DPACK_EXTERNALS=1; make install
+ && cmake .. -DDEV_PKG=0; make install
---
-tag: 5-a3.11-nng-rmr3
+tag: 6-a3.11-rmr3
# golang v 1.13.4
# python 3.7
# mdc log libs (libmdclog.so, libmdbclog.so.X.X.X; see below for pinned version)
-# nng libs (rmr.h, libnng.so, libnng.so.X.X.X; version pinned by RMR)
-# rmr libs (librmr_nng.so, librmr_si.so, librmr_nng.so.X.X.X, librmr_si.so.X.X.X; see below for pinned version)
+# rmr libs (librmr_si.so, librmr_si.so.X.X.X; see below for pinned version)
#
# Some packages (e.g., mdclog) install to /usr/local/lib, others (e.g., rmr) install to /usr/local/lib64
# Alpine by default searches /usr/local/lib but not /usr/local/lib64
#
# How to get library files from this Docker base image:
# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:TAG /usr/local/lib/libmdclog.so.X.X.X /usr/local/lib
-# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:TAG /usr/local/lib64/libnng.so.X.X.X /usr/local/lib
-# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:TAG /usr/local/lib64/librmr_nng.so.X.X.X /usr/local/lib
# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:TAG /usr/local/lib64/librmr_si.so.X.X.X /usr/local/lib
FROM python:3.7-alpine
# install a well known working rmr including development header files,
# which uses a submodule to install NNG at a known commit
RUN apk update && apk add autoconf automake build-base cmake libtool ninja pkgconfig git sudo
-RUN git clone --branch 3.6.3 https://gerrit.oran-osc.org/r/ric-plt/lib/rmr \
+RUN git clone --branch 3.7.1 https://gerrit.oran-osc.org/r/ric-plt/lib/rmr \
&& cd rmr \
&& mkdir .build; cd .build \
&& echo "<<<installing rmr devel headers>>>" \
&& cmake .. -DDEV_PKG=1; make install \
&& echo "<<< installing rmr .so>>>" \
- && cmake .. -DPACK_EXTERNALS=1; make install
+ && cmake .. -DDEV_PKG=0; make install
# Not feasible to show all the software versions
---
-tag: 9-a3.11-nng-rmr3
+tag: 10-a3.11-rmr3
&& ./cmake-${cv}-Linux-x86_64.sh --prefix=/usr/local --skip-license \
&& rm -f cmake*.sh
-# install a recent version of ninja-build, ubuntu repo version is old
-RUN wget -nv https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip \
- && unzip ninja-linux.zip \
- && chmod +x ninja \
- && mv ninja /usr/local/bin \
- && rm -f ninja*.zip
-
# sonar-scanner is not available in ubuntu repo
ARG sv="4.2.0.1873"
RUN wget -nv https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${sv}-linux.zip \
RUN wget -O- -nv https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $GOPATH/bin v1.23.6 \
&& rm -f install.sh
-# NNG repo is not frequently tagged so it's pinned to a commit hash.
-# This commit provides fix to the proxy-reconnect
-# bug that we identified: https://github.com/nanomsg/nng/issues/970
-RUN git clone https://github.com/nanomsg/nng.git \
- && cd nng \
- && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \
- && mkdir build \
- && cd build \
- && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \
- && ninja \
- && ninja install \
- && cd ../.. \
- && rm -rf nng
-
# install a recent version of boost, ubuntu repo version is old
ARG bv="1_69_0"
RUN wget -nv https://dl.bintray.com/boostorg/release/1.69.0/source/boost_${bv}.zip \
# Not feasible to show all the software versions
# here so just use a counter plus the base image
---
-tag: 6-u18.04-nng
+tag: 7-u18.04