baskerville / plato

Document reader
Other
1.3k stars 109 forks source link

Cannot build Dockerfile.dev container: no libcrypt.so.1 available. #255

Open abacon opened 2 years ago

abacon commented 2 years ago

Hey! Long-time fan. I'm trying to build the dev version for the emulator and am getting hung up on a libcrypt error. Apparently there is a package called libxcrypt-compat that provides the missing .so for other distros, but I can't figure out what to install for debian. Any advice?

Steps to repro:

  1. install docker.
  2. brew install wget curl git pkg-config unzip jq patchelf
  3. docker build . -t plato:dev -f Dockerfile.dev

Expected result:

  1. I see a dev build of Plato.

Actual result:

  1. The build fails when setting up the docker container:
#5 150.1 Unpacking libgcc-s1:amd64 (12.2.0-1) ...
#5 150.1 Replacing files in old package libgcc1:amd64 (1:8.3.0-6) ...
#5 150.2 Setting up libgcc-s1:amd64 (12.2.0-1) ...
#5 150.2 Setting up libc6:amd64 (2.34-4) ...
#5 150.2 /usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
#5 150.2 dpkg: error processing package libc6:amd64 (--configure):
#5 150.2  installed libc6:amd64 package post-installation script subprocess returned error exit status 127
#5 150.3 Errors were encountered while processing:
#5 150.3  libc6:amd64
#5 150.4 E: Sub-process /usr/bin/dpkg returned an error code (1)
------
executor failed running [/bin/sh -c echo "deb http://deb.debian.org/debian testing main" > /etc/apt/sources.list        && apt-get update        && apt-get install -y mupdf libmupdf-dev]: exit code: 100

Host: macOS 11.6.5 (big sur) Docker version 20.10.17 plato v0.9.30 (827f776)

baskerville commented 2 years ago

I'm afraid I won't be of any help as I've never used the Docker containers. @welps created those.

You should be able to run the emulator on macOS though : brew install mupdf harfbuzz djvulibre freetype sdl2 && brew pin mupdf && ./run-emulator.sh.