X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=bldr-imgs%2Fbldr-alpine3%2FDockerfile;fp=bldr-imgs%2Fbldr-alpine3%2FDockerfile;h=0ec0e7f2f6bbe8a75611851d9c18501703c32b1c;hb=57174356ce7614bceddc8822610785726bf4216f;hp=0000000000000000000000000000000000000000;hpb=3b56acc14a2308e853612e22738cd44687288149;p=it%2Fdev.git diff --git a/bldr-imgs/bldr-alpine3/Dockerfile b/bldr-imgs/bldr-alpine3/Dockerfile new file mode 100644 index 0000000..0ec0e7f --- /dev/null +++ b/bldr-imgs/bldr-alpine3/Dockerfile @@ -0,0 +1,74 @@ +# O-RAN-SC +# +# Copyright (C) 2019-2020 AT&T Intellectual Property and Nokia +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This is an all-things-to-all-ORAN-people build image with: +# alpine v 3.11 +# gcc/g++ v 8 +# 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) +# +# 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 +RUN apk update && apk add \ + autoconf \ + automake \ + build-base \ + cmake \ + libtool \ + ninja \ + pkgconfig \ + python-dev \ + sudo \ + git \ + go + +# the autoconf-archive in alpine's edge repos is too new +# for our purposes, so we'll use one from the source. +RUN cd /tmp \ + && git clone --branch v2015.09.25 git://git.sv.gnu.org/autoconf-archive.git \ + && cp /tmp/autoconf-archive/m4/* /usr/share/aclocal \ + && rm -rf /tmp/autoconf-archive + +# MCDLOG, version is pinned +RUN cd /tmp \ + && git clone --branch v0.0.4 https://gerrit.o-ran-sc.org/r/com/log \ + && cd log \ + && ./autogen.sh \ + && ./configure \ + && make \ + && make install + +# 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.2 https://gerrit.oran-osc.org/r/ric-plt/lib/rmr \ + && cd rmr \ + && mkdir .build; cd .build \ + && echo "<<>>" \ + && cmake .. -DDEV_PKG=1; make install \ + && echo "<<< installing rmr .so>>>" \ + && cmake .. -DPACK_EXTERNALS=1; make install