-
Notifications
You must be signed in to change notification settings - Fork 78
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
Add missing runtime libs to heroku-22 and heroku-24 #317
Conversation
- libgeoip1 because of libgeoip-dev - libhashkit2 because of libhashkit-dev - libmemcachedutil2 because of libmemcached-dev - libnetpbm10 because of libnetpbm10-dev - libwmf-0.2-7 because of libwmf-dev GUS-W-16381871
89e438f
to
6d28afc
Compare
Sizes: % docker run -u root --rm -ti heroku/heroku:22 bash
root@2e3c355b3af4:/# apt-get update
…
root@2e3c355b3af4:/# apt-get install libgeoip1 libhashkit2 libmemcachedutil2 libnetpbm10 libwmf-0.2-7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
geoip-bin libwmf-0.2-7-gtk
The following NEW packages will be installed:
libgeoip1 libhashkit2 libmemcachedutil2 libnetpbm10 libwmf-0.2-7
0 upgraded, 5 newly installed, 0 to remove and 3 not upgraded.
Need to get 284 kB of archives.
After this operation, 1001 kB of additional disk space will be used.
… % docker run -u root --rm -ti heroku/heroku:24 bash
root@5e5722257542:/# apt-get update
…
root@5e5722257542:/# apt-get install libgirepository-1.0-1 libidn12 libmemcachedutil2t64 libwebpdecoder3 libwmf-0.2-7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
libwmf-0.2-7-gtk
The following NEW packages will be installed:
libgirepository-1.0-1 libidn12 libmemcachedutil2t64 libwebpdecoder3
libwmf-0.2-7
0 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.
Need to get 328 kB of archives.
After this operation, 1278 kB of additional disk space will be used.
… |
8f0b18b
to
08092e3
Compare
- libgirepository-1.0-1 because of libgirepository1.0-dev and libgirepository-1.0-dev - libidn12 because of libidn-dev - libmemcachedutil2t64 because of libmemcached-dev - libwebpdecoder3 because of libwebp-dev - libwmf-0.2-7 because of libwmf-dev GUS-W-16381871
08092e3
to
f733e36
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for listing the size impacts - makes review easier!
I'm happy for us to add these - just have a few questions/comments first :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
@dzuelke Could you update the PR description so it matches the final version of the PR? :-) |
As a general rule, we make dynamic libraries available in the run base images if the packages containing headers for dynamic linking (typically named
lib…-dev
) are present in the build image.This ensures that programs that dynamically link against libraries using these headers at build time (e.g. native extensions for various languages) work reliably at runtime.
A recent review of the list of packages on all stacks turned up a number of packages that aren't available at runtime, but have build time headers.
Ignoring
heroku-20
(as it is deprecated), and disregardinglibpcre…
libraries for character strings other than UTF-8 (which already are in the run images) as well as X11-related libraries, we're missing the following:heroku-22
:libgeoip1
because oflibgeoip-dev
libhashkit2
because oflibhashkit-dev
libmemcachedutil2
because oflibmemcached-dev
libnetpbm10
because oflibnetpbm10-dev
libwmf-0.2-7
because oflibwmf-dev
heroku-24
:libgirepository-1.0-1
because oflibgirepository1.0-dev
andlibgirepository-1.0-dev
libidn12
because oflibidn-dev
libmemcachedutil2t64
because oflibmemcached-dev
libwebpdecoder3
because oflibwebp-dev
libwmf-0.2-7
because oflibwmf-dev
GUS-W-16381871