-
Notifications
You must be signed in to change notification settings - Fork 355
Open
Description
Issue regarding the website
- I've checked that this isn't a duplicate issue.
After forking the swag-for-dev repo I ran these docker commands to build and start the dev docker container.
docker build --target base -t devswag-dev .
&& docker run -d -p 8000:8000 --name devswag-dev-container devswag-dev
&& docker attach devswag-dev-container
Text Log --
docker build --target base -t devswag-dev . && docker run -d -p 8000:8000 --name devswag-dev-container devswag-dev && docker attach devswag-dev-container
[+] Building 90.6s (13/13) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.20kB 0.0s
=> [internal] load metadata for docker.io/library/debian:buster 2.2s
=> [auth] library/debian:pull token for registry-1.docker.io 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 221B 0.0s
=> [base 1/8] FROM docker.io/library/debian:buster@sha256:58ce6f1271ae1c8a2006ff7d3e54e9874d839f573d8009c2 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 208B 0.0s
=> CACHED [base 2/8] RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recomme 0.0s
=> CACHED [base 3/8] WORKDIR /devswag 0.0s
=> CACHED [base 4/8] RUN wget -O- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash 0.0s
=> CACHED [base 5/8] COPY .nvmrc ./ 0.0s
=> CACHED [base 6/8] RUN nvm install && nvm use 0.0s
=> CACHED [base 7/8] COPY package.json package-lock.json ./ 0.0s
=> ERROR [base 8/8] RUN set -x && npm ci && npm cache clean --force 88.4s
------
> [base 8/8] RUN set -x && npm ci && npm cache clean --force:
0.223 + npm ci
88.17
88.17 > sharp@0.29.1 install /devswag/node_modules/sharp
88.17 > (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)
88.17
88.22 sharp: Installation error: Use with glibc 2.28 requires manual installation of libvips >= 8.11.3
88.22 sharp: Please see https://sharp.pixelplumbing.com/install for required dependencies
88.26 npm ERR! code ELIFECYCLE
88.26 npm ERR! errno 1
88.26 npm ERR! sharp@0.29.1 install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)`
88.26 npm ERR! Exit status 1
88.26 npm ERR!
88.26 npm ERR! Failed at the sharp@0.29.1 install script.
88.26 npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
88.28
88.28 npm ERR! A complete log of this run can be found in:
88.28 npm ERR! /root/.npm/_logs/2024-10-12T11_06_57_177Z-debug.log
------
Dockerfile:21
--------------------
20 | COPY package.json package-lock.json ./
21 | >>> RUN set -x \
22 | >>> # Install npm dependencies
23 | >>> && npm ci \
24 | >>> # Cleanup
25 | >>> && npm cache clean --force
26 |
--------------------
ERROR: failed to solve: process "/bin/bash --login -c set -x \t&& npm ci \t&& npm cache clean --force" did not complete successfully: exit code: 1
View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/w456hbho65uddx88k3e092kls
From what I see above, glibc 2.28 requires the manual installation of libvips.
I tried adding the code snippet below to the Dockerfile to manually install libvips during the build.
# Download and install libvips binaries from Sharp's prebuilt releases
RUN wget --no-check-certificate -O /tmp/libvips.tar.gz https://github.com/lovell/sharp-libvips/releases/download/v8.11.3/libvips-8.11.3-linux-x64.tar.gz \
&& echo "Download completed." \
&& ls -l /tmp/libvips.tar.gz \
&& tar -tzf /tmp/libvips.tar.gz \
&& tar -xvzf /tmp/libvips.tar.gz --strip-components=2 -C /usr/local \
&& rm /tmp/libvips.tar.gz
Text Log --
11.31 include/webp/demux.h
11.31 include/webp/mux.h
11.31 include/webp/types.h
11.31 include/webp/encode.h
11.31 include/gio-unix-2.0/gio/
11.31 include/gio-unix-2.0/gio/gunixsocketaddress.h
11.31 include/gio-unix-2.0/gio/gunixconnection.h
11.31 include/gio-unix-2.0/gio/gunixcredentialsmessage.h
11.31 include/gio-unix-2.0/gio/gfiledescriptorbased.h
11.31 include/gio-unix-2.0/gio/gunixmounts.h
11.31 include/gio-unix-2.0/gio/gunixoutputstream.h
11.31 include/gio-unix-2.0/gio/gunixinputstream.h
11.31 include/gio-unix-2.0/gio/gunixfdlist.h
11.31 include/gio-unix-2.0/gio/gunixfdmessage.h
11.31 include/gio-unix-2.0/gio/gdesktopappinfo.h
11.41 lib/glib-2.0/include/
11.41 lib/glib-2.0/include/glibconfig.h
11.41 tar: Exiting with failure status due to previous errors
------
Dockerfile:12
--------------------
11 | # Download and install libvips binaries from Sharp's prebuilt releases
12 | >>> RUN wget --no-check-certificate -O /tmp/libvips.tar.gz https://github.com/lovell/sharp-libvips/releases/download/v8.11.3/libvips-8.11.3-linux-x64.tar.gz \
13 | >>> && echo "Download completed." \
14 | >>> && ls -l /tmp/libvips.tar.gz \
15 | >>> && tar -tzf /tmp/libvips.tar.gz \
16 | >>> && tar -xvzf /tmp/libvips.tar.gz --strip-components=2 -C /usr/local \
17 | >>> && rm /tmp/libvips.tar.gz
18 |
--------------------
ERROR: failed to solve: process "/bin/sh -c wget --no-check-certificate -O /tmp/libvips.tar.gz https://github.com/lovell/sharp-libvips/releases/download/v8.11.3/libvips-8.11.3-linux-x64.tar.gz && echo \"Download completed.\" && ls -l /tmp/libvips.tar.gz && tar -tzf /tmp/libvips.tar.gz && tar -xvzf /tmp/libvips.tar.gz --strip-components=2 -C /usr/local && rm /tmp/libvips.tar.gz" did not complete successfully: exit code: 2
View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/ly4yfojud0uu080ca2f3al30n
Solution
My proposed solution is to use "debian:bullseye" and directly install "libvips-dev". This approach simplifies the installation process and minimizes potential issues related to downloading binaries.
Metadata
Metadata
Assignees
Labels
No labels