Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

g++ is no longer needed #3

Closed
Baltazardoung opened this issue May 23, 2021 · 1 comment
Closed

g++ is no longer needed #3

Baltazardoung opened this issue May 23, 2021 · 1 comment

Comments

@Baltazardoung
Copy link

Baltazardoung commented May 23, 2021

Related #2 (comment) and after release ffi 1.15.1 (with ffi/ffi#897), I tested installed tcc (and declare CC environment variable)...

FROM ruby:2.7.3-alpine3.13

ARG VERSION=3.19.1

RUN apk add --no-cache libcurl xz-libs \
 && apk add tcc --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ \
 && apk add --no-cache --virtual tmp build-base libxml2-dev libxslt-dev \
 && gem install html-proofer --version "= $VERSION" --no-document \
 && apk del tmp

ENV CC=tcc

VOLUME /src
WORKDIR /src

ENTRYPOINT ["htmlproofer"]

Image is working and is smaller again....

But when I looked more closely at the build logs, I saw that the gcc was also installed again :

Step 3/7 : RUN apk add --no-cache libcurl xz-libs  && apk add tcc --repository http://dl-3.alpinelinux.org/alpine/edge/testing/  && apk add --no-cache --virtual tmp build-base libxml2-dev libxslt-dev  && gem install html-proofer --version "= $VERSION" --no-document  && apk del tmp
 ---> Running in 1005a26060ff
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
(1/4) Installing brotli-libs (1.0.9-r3)
(2/4) Installing nghttp2-libs (1.42.0-r1)
(3/4) Installing libcurl (7.76.1-r0)
(4/4) Installing xz-libs (5.2.5-r0)
OK: 21 MiB in 40 packages
fetch http://dl-3.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
(1/1) Installing tcc (0.9.27-r1)
Executing busybox-1.32.1-r6.trigger
OK: 22 MiB in 41 packages
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
(1/25) Installing binutils (2.35.2-r1)
(2/25) Installing libmagic (5.39-r0)
(3/25) Installing file (5.39-r0)
(4/25) Installing libgomp (10.2.1_pre1-r3)
(5/25) Installing libatomic (10.2.1_pre1-r3)
(6/25) Installing libgphobos (10.2.1_pre1-r3)
(7/25) Installing isl22 (0.22-r0)
(8/25) Installing mpfr4 (4.1.0-r0)
(9/25) Installing mpc1 (1.2.0-r0)
(10/25) Installing gcc (10.2.1_pre1-r3)
(11/25) Installing musl-dev (1.2.2-r0)
(12/25) Installing libc-dev (0.7.2-r3)
(13/25) Installing g++ (10.2.1_pre1-r3)
(14/25) Installing make (4.3-r0)
(15/25) Installing fortify-headers (1.1-r0)
(16/25) Installing patch (2.7.6-r6)
(17/25) Installing build-base (0.5-r2)
(18/25) Installing xz-dev (5.2.5-r0)
(19/25) Installing libxml2 (2.9.10-r6)
(20/25) Installing libxml2-dev (2.9.10-r6)
(21/25) Installing libgpg-error (1.41-r0)
(22/25) Installing libgcrypt (1.8.7-r0)
(23/25) Installing libxslt (1.1.34-r0)
(24/25) Installing libxslt-dev (1.1.34-r0)
(25/25) Installing tmp (20210523.081624)
Executing busybox-1.32.1-r6.trigger
OK: 220 MiB in 66 packages
Successfully installed public_suffix-4.0.6
Successfully installed addressable-2.7.0
Successfully installed mercenary-0.4.0
Successfully installed nokogiri-1.11.5-x86_64-linux
Building native extensions. This could take a while...
Successfully installed nokogumbo-2.0.5
Successfully installed parallel-1.20.1
Successfully installed rainbow-3.0.0
Building native extensions. This could take a while...
Successfully installed ffi-1.15.1
Successfully installed ethon-0.14.0
Successfully installed typhoeus-1.4.0
Successfully installed yell-2.2.2
Successfully installed html-proofer-3.19.1
12 gems installed
(1/25) Purging tmp (20210523.081624)
(2/25) Purging build-base (0.5-r2)
(3/25) Purging file (5.39-r0)
(4/25) Purging g++ (10.2.1_pre1-r3)
(5/25) Purging gcc (10.2.1_pre1-r3)
(6/25) Purging binutils (2.35.2-r1)
(7/25) Purging libatomic (10.2.1_pre1-r3)
(8/25) Purging libgomp (10.2.1_pre1-r3)
(9/25) Purging libgphobos (10.2.1_pre1-r3)
(10/25) Purging make (4.3-r0)
(11/25) Purging libc-dev (0.7.2-r3)
(12/25) Purging musl-dev (1.2.2-r0)
(13/25) Purging fortify-headers (1.1-r0)
(14/25) Purging patch (2.7.6-r6)
(15/25) Purging libxslt-dev (1.1.34-r0)
(16/25) Purging libxslt (1.1.34-r0)
(17/25) Purging libmagic (5.39-r0)
(18/25) Purging isl22 (0.22-r0)
(19/25) Purging mpc1 (1.2.0-r0)
(20/25) Purging mpfr4 (4.1.0-r0)
(21/25) Purging libxml2-dev (2.9.10-r6)
(22/25) Purging libxml2 (2.9.10-r6)
(23/25) Purging xz-dev (5.2.5-r0)
(24/25) Purging libgcrypt (1.8.7-r0)
(25/25) Purging libgpg-error (1.41-r0)
Executing busybox-1.32.1-r6.trigger
OK: 22 MiB in 41 packages

So I tried to go back to the initial version of the dockerfile (without the addition of g++). And it worked too !

So I would say that the g++ dependency can be removed here.

... Do you confirm ?

@klakegg
Copy link
Collaborator

klakegg commented Sep 4, 2021

I can confirm. The latest release is back to small image sizes again. 😄

@klakegg klakegg closed this as completed Sep 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants