linuxserver / docker-calibre

GNU General Public License v3.0
339 stars 62 forks source link

Support for arm64 architecture (raspberry pi) #32

Closed ianpogi5 closed 3 years ago

ianpogi5 commented 3 years ago

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


Expected Behavior

Run on raspberry pi

Current Behavior

Get's the following error in the container: standard_init_linux.go:211: exec user process caused "exec format error"

Steps to Reproduce

  1. Use the example docker-compose file
  2. Run it in docker

Environment

OS: Raspbian OS CPU architecture: arm64
How docker service was installed: sudo apt-get install docker

Command used to create docker container (run/create/compose/screenshot)

version: "2.1"
services:
  calibre:
    image: linuxserver/calibre
    container_name: calibre
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Manila
      - GUAC_USER=admin #optional
      - GUAC_PASS=900150983cd24fb0d6963f7d28e17f72 #optional
      - UMASK_SET=022 #optional
      - CLI_ARGS= #optional
    volumes:
      - /media/data/appdata/calibre:/config
    ports:
      - 8080:8080
      - 8081:8081
    restart: unless-stopped

Docker logs

standard_init_linux.go:211: exec user process caused "exec format error",
standard_init_linux.go:211: exec user process caused "exec format error",
standard_init_linux.go:211: exec user process caused "exec format error",
standard_init_linux.go:211: exec user process caused "exec format error",
standard_init_linux.go:211: exec user process caused "exec format error",
standard_init_linux.go:211: exec user process caused "exec format error",
standard_init_linux.go:211: exec user process caused "exec format error",
standard_init_linux.go:211: exec user process caused "exec format error",
standard_init_linux.go:211: exec user process caused "exec format error",
standard_init_linux.go:211: exec user process caused "exec format error",
standard_init_linux.go:211: exec user process caused "exec format error",
standard_init_linux.go:211: exec user process caused "exec format error",
aptalca commented 3 years ago

Calibre doesn't publish arm binaries, therefore this image is x86_64 only

kfstorm commented 2 years ago

Why not update the Supported Architectures section in README.md?

aptalca commented 2 years ago

? It's updated

kfstorm commented 2 years ago

Oh, I just found that arm64 and armhf are recently added (d6d4721bf5e3f47238c12387c3a99954c5e415e2). Does that mean it works now on arm devices with the nightly build?

kfstorm commented 2 years ago

I just tried the lastest image today and it doesn't work on my R4S and the logs are the same as the issue description.

aptalca commented 2 years ago

Only works with the arch tag as listed

kfstorm commented 2 years ago

I see. Any plan to build multi-platform images?

aptalca commented 2 years ago

??

On an arm device, use lscr.io/linuxserver/calibre:arch as that one is multi-arch as listed in the readme

kfstorm commented 2 years ago

Thanks for the clarification! 👍

But why not reuse the latest tag for the multi-arch image? It should be a common practice and I've seen it in other linuxserver images like sonarr and jackett.

Roxedus commented 2 years ago

We want help from our users to test the arch based one, before considering it stable enough for latest.

Luttik commented 2 years ago

Maybe I'm mistaken, but I feel like the Raspberry pi is currently the defacto way to self-host stuff (as a private individual). Therefore I think folding arch into latest should be a top priority. As far as I know, this docker is purely for self-hosting so this might be an issue that most potential users are stumbling into.

(I love the work on this so this is not a value statement about the work but if these assumptions are correct (they might not) having them in the thread seems relevant)

OckhamOdyssey commented 2 years ago

I change my docker-compose with the arch tag and doesn't even start. Log:

Error response from daemon: manifest unknown

aptalca commented 2 years ago

I feel like the Raspberry pi is currently the defacto way to self-host stuff (as a private individual)

Don't want to speak for the whole team but pretty sure most (if not all) of us don't share that belief. Rpi is an entry level device for self hosting and is good for hosting a few services but not beefy enough for more than that (especially the heavy ones like these rdesktop-gui based ones).

I change my docker-compose with the arch tag and doesn't even start. Log:

You need to provide more than a basic statement and a single line snippet