1
1
# we use centos 7 to build against glibc 2.17
2
2
FROM centos:7
3
3
4
+ # Add Corretto repository
5
+ RUN rpm --import https://yum.corretto.aws/corretto.key && \
6
+ curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo
7
+
4
8
# aws-lambda-cpp requires cmake3, it's available in EPEL
5
9
RUN yum install -y epel-release
6
10
RUN yum install -y \
7
- cmake3 \
8
- make \
9
- gcc \
10
- gcc-c++ \
11
- glibc-devel \
12
- gmp-devel \
13
- libmpc-devel \
14
- libtool \
15
- mpfr-devel \
16
- wget
17
-
18
- # aws-lambda-cpp also needs a newer compiler than the default gcc 4.4
19
- ARG GCC_VERSION=4.8.5
20
- RUN wget -qO- https://mirrors.kernel.org/gnu/gcc/gcc-$GCC_VERSION/gcc-$GCC_VERSION.tar.gz | tar xzf -
21
- WORKDIR gcc-$GCC_VERSION
22
- RUN ./configure \
23
- --disable-multilib \
24
- --enable-languages=c,c++ && \
25
- make -j$(nproc) && \
26
- make install
27
- RUN yum remove -y gcc gcc-c++
28
- RUN rm -rf /usr/bin/gcc && \
29
- rm -rf /usr/bin/c++ && \
30
- rm -rf /usr/bin/cc && \
31
- ln -s /usr/local/bin/x86_64-unknown-linux-gnu-gcc-$GCC_VERSION /usr/bin/gcc && \
32
- ln -s /usr/local/bin/x86_64-unknown-linux-gnu-c++ /usr/bin/c++ && \
33
- ln -s /usr/local/bin/x86_64-unknown-linux-gnu-gcc /usr/bin/cc
34
-
35
- RUN rpm --import https://yum.corretto.aws/corretto.key
36
- RUN curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo
37
- RUN yum install -y java-1.8.0-amazon-corretto-devel
11
+ cmake3 \
12
+ make \
13
+ gcc \
14
+ gcc-c++ \
15
+ libstdc++-static \
16
+ glibc-devel \
17
+ gmp-devel \
18
+ libmpc-devel \
19
+ libtool \
20
+ mpfr-devel \
21
+ wget \
22
+ java-1.8.0-amazon-corretto-devel
38
23
24
+ # Install curl dependency
39
25
ADD ./deps/curl-* /src/deps/curl
40
26
WORKDIR /src/deps/curl
41
27
RUN ./configure \
@@ -46,6 +32,7 @@ RUN ./configure \
46
32
make && \
47
33
make install
48
34
35
+ # Install aws-lambda-cpp dependency
49
36
ADD ./deps/aws-lambda-cpp-* /src/deps/aws-lambda-cpp
50
37
RUN sed -i.bak 's/VERSION 3.9/VERSION 3.6/' /src/deps/aws-lambda-cpp/CMakeLists.txt
51
38
RUN mkdir -p /src/deps/aws-lambda-cpp/build
@@ -54,11 +41,12 @@ RUN cmake3 .. \
54
41
-DENABLE_LTO=OFF \
55
42
-DCMAKE_CXX_FLAGS="-fPIC -DBACKWARD_SYSTEM_UNKNOWN" \
56
43
-DCMAKE_CXX_STANDARD=11 \
57
- -DCMAKE_INSTALL_PREFIX=$(pwd)/../../artifacts\
44
+ -DCMAKE_INSTALL_PREFIX=$(pwd)/../../artifacts \
58
45
-DCMAKE_MODULE_PATH=$(pwd)/../../artifacts/lib/pkgconfig && \
59
46
make && \
60
47
make install
61
48
49
+ # Build native client
62
50
ADD *.cpp *.h /src/
63
51
WORKDIR /src
64
52
ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto
0 commit comments