Docker file what(): libpng version mismatch: headers report 1.6.37, but library reports 1.6.39 #1091
Replies: 3 comments 1 reply
-
|
We experienced this problem when using the For reference, our Dockerfile looks currently like this (omitting install of node/app, only including the native requirements): FROM --platform=linux/amd64 node:18-bullseye AS builder
WORKDIR /app/
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM --platform=linux/amd64 node:18-bullseye
RUN apt update
RUN apt install -y tzdata xvfb libopengl-dev libuv1-dev
RUN wget http://archive.ubuntu.com/ubuntu/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_2.0.3-0ubuntu1_amd64.deb && apt install -y ./libjpeg-turbo8_2.0.3-0ubuntu1_amd64.deb
RUN wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu66_66.1-2ubuntu2_amd64.deb && apt install -y ./libicu66_66.1-2ubuntu2_amd64.deb
ENV TZ=Europe/Vienna
WORKDIR /app/
COPY --from=builder /app/package*.json ./
COPY --from=builder /app/node_modules ./node_modules/
COPY --from=builder /app/dist ./dist/
COPY --from=builder /app/docker-entrypoint.sh ./
EXPOSE 8080
ENTRYPOINT ["/app/docker-entrypoint.sh"]This is our #!/bin/sh
xvfb-run -a --server-args="-screen 0 1024x768x24" -- node /app/dist/main |
Beta Was this translation helpful? Give feedback.
-
|
mbgl.node 会动态链接libpng.so里的符号,并检查libpng版本和编译时的版本匹配,通过 apt install 的libpng.so可能不是1.6.37版本。另外如果在一个node程序里使用了其它静态链接了libpng.a的so库(可能不是1.6.37版本),mbgl.node将可能优先使用这个so里的符号而不加载libpng.so.16.37.0 |
Beta Was this translation helpful? Give feedback.
-
|
We have recently switched to using Linux prebuilt release binaries on Debian 12 (previously Ubuntu). Besides having to separately install I know MapLibre Native is built using Ubuntu 22.04, maybe a separate Debian build and release with updated dependencies would be possible (used to be built on Debian in the past if I'm not mistaken?). Anyone else having similar problems or are you just building your own binaries for Debian? |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
I am getting what(): libpng version mismatch: headers report 1.6.37, but library reports 1.6.39 error while running docker file which includes debian with @maplibre/maplibre-gl-native. How to solve this with docker file?
FROM debian:bullseye-slim
RUN echo "deb http://deb.debian.org/debian testing main" >> /etc/apt/sources.list
RUN echo "deb http://security.debian.org/debian-security buster/updates main" >> /etc/apt/sources.list
RUN apt-get update &&
apt-get install -y
curl
ca-certificates
make
cmake
wget
git
unzip
libcurl4-openssl-dev
autoconf
ccache
ninja-build
pkg-config
xvfb
libcurl4-openssl-dev
libglfw3-dev
libuv1-dev
gcc-10
libpng-dev
libgl1-mesa-dev
libgl1-mesa-dri
libc6
libgcc-s1
libicu63
g++-10
libc++-9-dev
libc++abi-9-dev
libjpeg-dev
libtool && rm -rf /var/lib/apt/lists/*
RUN wget http://archive.ubuntu.com/ubuntu/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_2.0.3-0ubuntu1_amd64.deb
RUN apt install ./libjpeg-turbo8_2.0.3-0ubuntu1_amd64.deb
RUN wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu66_66.1-2ubuntu2_amd64.deb
RUN apt install ./libicu66_66.1-2ubuntu2_amd64.deb
RUN npm install @maplibre/maplibre-gl-native
i want to run @maplibre/maplibre-gl-native package through docker.
Thank you
Beta Was this translation helpful? Give feedback.
All reactions