Skip to content

Missing libraries for gd/zip extensions  #416

@ederuiter

Description

@ederuiter

Today I was experimenting with the phpmyadmin docker containers and came across a couple of error message from the container startup:

PHP Startup: Unable to load dynamic library 'zip.so' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20210902/zip.so (libzip.so.4: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20210902/zip.so.so (/usr/local/lib/php/extensions/no-debug-non-zts-20210902/zip.so.so: cannot open shared object file: No such file or directory))
PHP Startup: Unable to load dynamic library 'gd.so' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20210902/gd.so (libpng16.so.16: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20210902/gd.so.so (/usr/local/lib/php/extensions/no-debug-non-zts-20210902/gd.so.so: cannot open shared object file: No such file or directory))

It seems the container is missing the libraries for the zip/gd extensions (libzip.so.4, libpng16.so.16, libwebp.so.7, libjpeg.so.62, libXpm.so.4 libfreetype.so.6):

root@fa581549c630:/usr/local/lib/php/extensions/no-debug-non-zts-20210902# ldd *
bz2.so:
	linux-vdso.so.1 (0x00007ffc6bd23000)
	libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007fb4ca632000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb4ca451000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fb4ca652000)
gd.so:
	linux-vdso.so.1 (0x00007fffcfe46000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f715484a000)
	libpng16.so.16 => not found
	libwebp.so.7 => not found
	libjpeg.so.62 => not found
	libXpm.so.4 => not found
	libfreetype.so.6 => not found
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7154667000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f71548d9000)
mysqli.so:
	linux-vdso.so.1 (0x00007fffacbc3000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f491e4f8000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f491e708000)
opcache.so:
	linux-vdso.so.1 (0x00007fff16fc8000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f7dad447000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7dad266000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f7dad573000)
sodium.so:
	linux-vdso.so.1 (0x00007ffeff572000)
	libsodium.so.23 => /lib/x86_64-linux-gnu/libsodium.so.23 (0x00007f8ade417000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8ade236000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8ade231000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f8ade490000)
zip.so:
	linux-vdso.so.1 (0x00007ffdf869c000)
	libzip.so.4 => not found
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f94b8914000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f94b8b0e000)

Where it gets weirder is when I double checked which version I was running. Turns out the latest image pulled from docker.io/library/phpmyadmin:latest has a different digest that the one reference in the docker hub interface 🤔

Nevermind .. see docker/hub-feedback#1925 😞

So according to the Dockerfile these libraries should have been installed

apt-get install -y --no-install-recommends \
libbz2-dev \
libfreetype6-dev \
libjpeg-dev \
libpng-dev \
libwebp-dev \
libxpm-dev \
libzip-dev \

eric@eric-desktop:~$ docker run --rm -it phpmyadmin:latest /bin/bash
root@7a57b6b6f283:/var/www/html# dpkg -l | grep libzip
root@7a57b6b6f283:/var/www/html# dpkg -l | grep zip   
ii  bzip2                         1.0.8-5+b1                     amd64        high-quality block-sorting file compressor - utilities
ii  gzip                          1.12-1                         amd64        GNU compression utilities
root@7a57b6b6f283:/var/www/html# 

^ But they are not installed inside the container 🤔

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions