blob: e9e0937d6687e571f5cca47a6ea694d717894d33 [file] [log] [blame]
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -04001# O-RAN-SC
2#
3# Copyright (C) 2019 AT&T Intellectual Property and Nokia
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
Lott, Christopher (cl778h)d63fe202019-06-17 09:01:48 -040017# Builder image with superset of CI tools for RIC components
Lott, Christopher (cl778h)a92406b2019-06-28 11:18:44 -040018# Uses Ubuntu 18.04 base then adds:
Lott, Christopher (cl778h)b09f6822019-06-20 09:14:28 -040019# Standard apt packages including gcc and g++ 5.4
Lott, Christopher (cl778h)d63fe202019-06-17 09:01:48 -040020# Cmake 3.14.5 from binary distro to /usr/local/bin
21# Golang 1.12 from binary distro to /usr/local/go
22# Ninja 1.9 from binary distro to /usr/local/bin
Lott, Christopher (cl778h)b09f6822019-06-20 09:14:28 -040023# Nanomsg Next Gen v1.1.1 from source distro
24# Boost 1.69 from source distro
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -040025
Lott, Christopher (cl778h)a92406b2019-06-28 11:18:44 -040026FROM nexus3.o-ran-sc.org:10001/ubuntu:18.04
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -040027
28RUN apt-get update && apt-get install -y \
Lott, Christopher (cl778h)b09f6822019-06-20 09:14:28 -040029 autoconf \
30 autoconf-archive \
31 automake \
32 autotools-dev \
33 build-essential \
34 g++ \
35 gcc \
36 git \
37 libbz2-dev \
38 libicu-dev \
39 libsctp-dev \
40 libtool \
41 lksctp-tools \
42 make \
43 python-dev \
44 pkg-config \
45 software-properties-common \
46 wget \
47 zlib1g \
48 zlib1g-dev \
49 zlibc \
50 zip
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -040051
52WORKDIR /tmp
53
54RUN wget -nv https://github.com/Kitware/CMake/releases/download/v3.14.5/cmake-3.14.5-Linux-x86_64.sh \
55 && chmod +x cmake-3.14.5-Linux-x86_64.sh \
56 && ./cmake-3.14.5-Linux-x86_64.sh --prefix=/usr/local --skip-license
57
58RUN wget -nv https://dl.google.com/go/go1.12.linux-amd64.tar.gz \
59 && tar -xf go1.12.linux-amd64.tar.gz \
60 && mv go /usr/local
61
62RUN wget -nv https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip \
63 && unzip ninja-linux.zip \
64 && chmod +x ninja \
65 && mv ninja /usr/local/bin
66
67RUN git clone https://github.com/nanomsg/nng.git \
68 && cd nng \
Lott, Christopher (cl778h)a817c572019-06-18 11:09:41 -040069 && git checkout v1.1.1 \
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -040070 && mkdir build \
71 && cd build \
72 && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \
73 && ninja \
74 && ninja install
Lott, Christopher (cl778h)d63fe202019-06-17 09:01:48 -040075
76RUN wget -nv https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.zip \
77 && unzip -q boost_1_69_0.zip \
78 && cd boost_1_69_0 \
79 && ./bootstrap.sh --prefix=/usr/ \
80 && ./b2 \
81 && ./b2 install \
82 && cd ../ \
83 && rm -rf boost_1_69_0.zip boost_1_69_0