philomena-dev / philomena

Next-generation imageboard
GNU Affero General Public License v3.0
84 stars 29 forks source link

Need ffmpeg for ARM64 #245

Closed chaskayote closed 3 weeks ago

chaskayote commented 2 months ago

Describe the bug I run my dev locally on my M3 MacOS and it fails to build due to it not finding ffmpeg from your repository.

To Reproduce Steps to reproduce the behavior:

  1. Clone repository
  2. docker compose build
  3. docker compose up

Expected behavior FFMPEG is pulled

Screenshots Error when build fails

=> ERROR [app  3/11] RUN (echo "https://github.com/philomena-dev/prebuilt-ffmpeg/raw/master"; cat /etc/apk/repositor  1.0s
------                                                                                                                      
 > [app  3/11] RUN (echo "https://github.com/philomena-dev/prebuilt-ffmpeg/raw/master"; cat /etc/apk/repositories) > /tmp/repositories     && cp /tmp/repositories /etc/apk/repositories     && apk update --allow-untrusted     && apk add inotify-tools build-base git ffmpeg-dev npm nodejs file-dev libpng-dev gifsicle optipng libjpeg-turbo-utils librsvg rsvg-convert imagemagick postgresql16-client wget rust cargo --allow-untrusted     && mix local.hex --force     && mix local.rebar --force:     
0.067 fetch https://github.com/philomena-dev/prebuilt-ffmpeg/raw/master/aarch64/APKINDEX.tar.gz                             
0.349 fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/main/aarch64/APKINDEX.tar.gz
0.349 WARNING: updating and opening https://github.com/philomena-dev/prebuilt-ffmpeg/raw/master: No such file or directory
0.653 fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/community/aarch64/APKINDEX.tar.gz
0.984 v3.19.1-476-g0fc5112363c [https://dl-cdn.alpinelinux.org/alpine/v3.19/main]
0.984 v3.19.1-480-g28ad97485dd [https://dl-cdn.alpinelinux.org/alpine/v3.19/community]
0.984 2 unavailable, 0 stale; 22859 distinct packages available
------
failed to solve: process "/bin/sh -c (echo \"https://github.com/philomena-dev/prebuilt-ffmpeg/raw/master\"; cat /etc/apk/repositories) > /tmp/repositories     && cp /tmp/repositories /etc/apk/repositories     && apk update --allow-untrusted     && apk add inotify-tools build-base git ffmpeg-dev npm nodejs file-dev libpng-dev gifsicle optipng libjpeg-turbo-utils librsvg rsvg-convert imagemagick postgresql16-client wget rust cargo --allow-untrusted     && mix local.hex --force     && mix local.rebar --force" did not complete successfully: exit code: 2

Desktop (please complete the following information):

Workaround

Additional context I think maybe changing from ffmpeg-dev to just ffmpeg in the apk command and just pull the latest ffmpeg instead of pulling it from your repo.

liamwhite commented 2 months ago

It's pulled from that repo because the upstream repository which alpine uses is broken. I have maintained a set of patches for years that fix various bugs in it and are needed for more robust file support. I will add a fallback for non-x64 targets to compile the dependency instead of fetching the prebuilt.

chaskayote commented 2 months ago

It's pulled from that repo because the upstream repository which alpine uses is broken. I have maintained a set of patches for years that fix various bugs in it and are needed for more robust file support. I will add a fallback for non-x64 targets to compile the dependency instead of fetching the prebuilt.

Oh it has bugs? I haven't noticed any yet but that doesn't mean they don't exist.