weserv / images

Source code of wsrv.nl (formerly images.weserv.nl), to be used on your own server(s).
https://wsrv.nl/
BSD 3-Clause "New" or "Revised" License
1.97k stars 193 forks source link

Support aarch64 (pi 4)? #327

Closed maffinca69 closed 2 years ago

maffinca69 commented 2 years ago

Hello. I tried manual install and all exist good. This is x86 computer Soon i tried install weserv on raspberry, he has aarch64 architecture. I received some errors, full log:

Error: 
 Problem: cannot install the best candidate for the job
  - package libjpeg-turbo-official-2.1.2-20211118.i386 does not have a compatible architecture
  - nothing provides libm.so.6 needed by libjpeg-turbo-official-2.1.2-20211118.i386
  - nothing provides libm.so.6(GLIBC_2.0) needed by libjpeg-turbo-official-2.1.2-20211118.i386
  - nothing provides ld-linux.so.2 needed by libjpeg-turbo-official-2.1.2-20211118.i386
  - nothing provides ld-linux.so.2(GLIBC_2.3) needed by libjpeg-turbo-official-2.1.2-20211118.i386
  - nothing provides libc.so.6(GLIBC_2.7) needed by libjpeg-turbo-official-2.1.2-20211118.i386
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
The command '/bin/sh -c dnf update -y     && dnf install -y dnf-utils     && dnf config-manager --add-repo https://libjpeg-turbo.org/pmwiki/uploads/Downloads/libjpeg-turbo.repo     && sed -i '/^exclude=/ s/$/,libjpeg-turbo-*.*.9[0-9]-*/' /etc/yum.repos.d/libjpeg-turbo.repo     && dnf install -y libjpeg-turbo-official     && echo '/opt/libjpeg-turbo/lib64' >> /etc/ld.so.conf.d/libjpeg-turbo-official-x86_64.conf     && ldconfig     && dnf install -y epel-release     && dnf config-manager --set-enabled powertools     && dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm     && dnf config-manager --set-enabled remi     && dnf install -y --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm     && dnf group install -y --with-optional 'Development Tools'     && dnf install -y --setopt=tsflags=nodocs --setopt=install_weak_deps=False         vips-devel         vips-heif         vips-poppler         vips-magick-im6         openssl-devel         pcre-devel         zlib-devel         nginx-filesystem     && cmake -S . -B _build         -DCMAKE_BUILD_TYPE=Release         -DBUILD_TOOLS=ON         -DNGX_VERSION=$NGINX_VERSION         -DCUSTOM_NGX_FLAGS="--prefix=/usr/share/nginx;--sbin-path=/usr/sbin/nginx;--modules-path=/usr/lib64/nginx/modules;--conf-path=/etc/nginx/nginx.conf;--error-log-path=/var/log/nginx/error.log;--http-log-path=/var/log/nginx/access.log;--http-client-body-temp-path=/var/lib/nginx/tmp/client_body;--http-proxy-temp-path=/var/lib/nginx/tmp/proxy;--http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi;--http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi;--http-scgi-temp-path=/var/lib/nginx/tmp/scgi;--pid-path=/run/nginx.pid;--lock-path=/run/lock/subsys/nginx;--user=nginx;--group=nginx"     && cmake --build _build -- -j$(nproc)     && ldconfig     && rm -rf _build     && dnf group remove -y 'Development Tools'     && dnf remove -y         vips-devel         openssl-devel         pcre-devel         zlib-devel     && dnf clean all     && mkdir -m 700 /var/lib/nginx     && mkdir -m 700 /var/lib/nginx/tmp     && mkdir -m 700 /usr/lib64/nginx     && mkdir -m 755 /usr/lib64/nginx/modules     && ln -sf /dev/stdout /var/log/nginx/weserv-access.log     && ln -sf /dev/stderr /var/log/nginx/weserv-error.log     && cp ngx_conf/*.conf /etc/nginx' returned a non-zero code: 1
root@ubuntu:/var/images# uname -a
Linux ubuntu 5.4.0-1047-raspi #52-Ubuntu SMP PREEMPT Wed Nov 24 08:16:38 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
root@ubuntu:/var/images# 

i want asked planned on support aarch64 architecture? Or i can fix manul this errors? Sorry, i not very good at this

maffinca69 commented 2 years ago

UPDATE: I tried use alpine.Dockerfile and all good - service is started and worked. My issue resolved :)

kleisauke commented 1 year ago

After commit https://github.com/weserv/images/commit/4da2cb6ee3fdd5a55826caee2d4976aa1a13b840, the default Dockerfile should work on AArch64 too, see: https://github.com/remicollet/remirepo/issues/214.