Skip to content
This repository has been archived by the owner on Dec 13, 2020. It is now read-only.

Alpine Linux Container #4

Open
BlinkyStitt opened this issue Apr 14, 2017 · 1 comment
Open

Alpine Linux Container #4

BlinkyStitt opened this issue Apr 14, 2017 · 1 comment

Comments

@BlinkyStitt
Copy link
Contributor

We should try running this inside alpine instead of fedora to get a much smaller image size.

We can probably use the pre-built version: http://www.makemkv.com/download/makemkv-bin-1.10.5.tar.gz

But we might need to compile ourselves: http://www.makemkv.com/download/makemkv-oss-1.10.5.tar.gz

More about compiling at http://www.makemkv.com/forum2/viewtopic.php?f=3&t=224

@Robpol86
Copy link
Owner

Robpol86 commented May 1, 2017

I wish I could get this working but wasn't able to today. Looks like the root cause is Alpine not shipping glibc, which makemkvcon links against.

I tried using https://hub.docker.com/r/frolvlad/alpine-glibc/ but apparently all of Alpine's packages won't work since they're not linked against glibc. Maybe one day in the future when alpine switches to glibc this will work better.

Some notes:

FROM frolvlad/alpine-glibc
MAINTAINER Robpol86 <[email protected]>

RUN apk add --no-cache bash expat ffmpeg-libs libcrypto1.0 libstdc++ sudo && \
    ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.10 && \
    ln -s /usr/lib/libssl.so.1.0.0 /usr/lib/libssl.so.10 && \
    ln -s /usr/lib/libtls.so.1.0.0 /usr/lib/libtls.so.10 && \
    ln -s /lib/libcrypto.so.1.0.0 /lib/libcrypto.so.10 && \
    ln -s /lib/libssl.so.1.0.0 /lib/libssl.so.10 && \
    adduser -Ds /sbin/nologin mkv && \
    addgroup mkv cdrom && \
    sudo -u mkv mkdir /home/mkv/.MakeMKV

COPY lib/libdriveio.so.0 /lib/libdriveio.so.0
COPY lib/libmakemkv.so.1 /lib/libmakemkv.so.1

VOLUME /output
WORKDIR /output
COPY bin/env.sh /env.sh
COPY bin/rip.sh /rip.sh
COPY etc/settings.conf /home/mkv/.MakeMKV/settings.conf
COPY lib/force_umask.so /force_umask.so

CMD ["/rip.sh"]
bash-4.3# ldd $(which makemkvcon) 
	/lib64/ld-linux-x86-64.so.2 (0x5652ceac6000)
	libmakemkv.so.1 => /lib/libmakemkv.so.1 (0x7f22e141c000)
	libdriveio.so.0 => /lib/libdriveio.so.0 (0x7f22e1215000)
	libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x5652ceac6000)
	libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x5652ceac6000)
	libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x5652ceac6000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7f22e0ec4000)
	librt.so.1 => /lib64/ld-linux-x86-64.so.2 (0x5652ceac6000)
	libcrypto.so.10 => /lib/libcrypto.so.10 (0x7f22e0aa4000)
	libz.so.1 => /lib/libz.so.1 (0x7f22e088e000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x7f22e066e000)
	libavcodec.so.57 => /usr/lib/libavcodec.so.57 (0x7f22df2e7000)
	libavutil.so.55 => /usr/lib/libavutil.so.55 (0x7f22df074000)
	libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x5652ceac6000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7f22dee62000)
	libswresample.so.2 => /usr/lib/libswresample.so.2 (0x7f22dec47000)
	libva.so.1 => /usr/lib/libva.so.1 (0x7f22dea2a000)
	libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x7f22de75e000)
	libx265.so.79 => /usr/lib/libx265.so.79 (0x7f22de0f8000)
	libx264.so.148 => /usr/lib/libx264.so.148 (0x7f22ddda1000)
	libvpx.so.3 => /usr/lib/libvpx.so.3 (0x7f22dd984000)
	libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x7f22dd6db000)
	libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x7f22dd4b4000)
	libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0x7f22dd28b000)
	libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0x7f22dd07d000)
	libopus.so.0 => /usr/lib/libopus.so.0 (0x7f22dce3a000)
	libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x7f22dcbcf000)
	libva-drm.so.1 => /usr/lib/libva-drm.so.1 (0x7f22dc9cc000)
	libva-x11.so.1 => /usr/lib/libva-x11.so.1 (0x7f22dc7c6000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x7f22dc4a3000)
	libogg.so.0 => /usr/lib/libogg.so.0 (0x7f22dc29d000)
	libdrm.so.2 => /usr/lib/libdrm.so.2 (0x7f22dc08e000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x7f22dbe7e000)
	libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x7f22dbc78000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x7f22dba52000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x7f22db84f000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x7f22db649000)
Error relocating /lib/libmakemkv.so.1: __stpcpy_chk: symbol not found
Error relocating /lib/libmakemkv.so.1: __strncat_chk: symbol not found
Error relocating /lib/libmakemkv.so.1: __sprintf_chk: symbol not found
Error relocating /lib/libmakemkv.so.1: __vsnprintf_chk: symbol not found
Error relocating /lib/libmakemkv.so.1: __strcpy_chk: symbol not found
Error relocating /lib/libdriveio.so.0: __fprintf_chk: symbol not found
Error relocating /lib/libdriveio.so.0: __memcpy_chk: symbol not found
Error relocating /lib/libdriveio.so.0: __strcat_chk: symbol not found
Error relocating /lib/libdriveio.so.0: __strcpy_chk: symbol not found
Error relocating /lib/libdriveio.so.0: __memset_chk: symbol not found
Error relocating /lib/libdriveio.so.0: __fdelt_chk: symbol not found
Error relocating /usr/bin/makemkvcon: _tolower: symbol not found
bash-4.3# makemkvcon --help
makemkvcon: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
bash-4.3# LD_TRACE_LOADED_OBJECTS=1 makemkvcon --help
makemkvcon: /usr/lib/libstdc++.so.6: no version information available (required by makemkvcon)
makemkvcon: /usr/lib/libstdc++.so.6: no version information available (required by makemkvcon)
makemkvcon: /usr/lib/libstdc++.so.6: no version information available (required by /lib/libmakemkv.so.1)
makemkvcon: /usr/lib/libstdc++.so.6: no version information available (required by /lib/libmakemkv.so.1)
makemkvcon: /usr/lib/libstdc++.so.6: no version information available (required by /lib/libmakemkv.so.1)
makemkvcon: /usr/lib/libstdc++.so.6: no version information available (required by /lib/libmakemkv.so.1)
makemkvcon: /usr/lib/libstdc++.so.6: no version information available (required by /lib/libdriveio.so.0)
makemkvcon: /usr/lib/libstdc++.so.6: no version information available (required by /lib/libdriveio.so.0)
makemkvcon: /usr/lib/libstdc++.so.6: no version information available (required by /lib/libdriveio.so.0)
	linux-vdso.so.1 (0x00007ffd71767000)
	libmakemkv.so.1 => /lib/libmakemkv.so.1 (0x00007f1b36cd7000)
	libdriveio.so.0 => /lib/libdriveio.so.0 (0x00007f1b36ad0000)
	libpthread.so.0 => /usr/glibc-compat/lib/libpthread.so.0 (0x00007f1b368b2000)
	libc.so.6 => /usr/glibc-compat/lib/libc.so.6 (0x00007f1b36518000)
	libdl.so.2 => /usr/glibc-compat/lib/libdl.so.2 (0x00007f1b36314000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f1b35fc3000)
	librt.so.1 => /usr/glibc-compat/lib/librt.so.1 (0x00007f1b35dbb000)
	libcrypto.so.10 => not found
	libz.so.1 => /lib/libz.so.1 (0x00007f1b35ba5000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f1b35985000)
	libavcodec.so.57 => /usr/lib/libavcodec.so.57 (0x00007f1b345fe000)
	libavutil.so.55 => /usr/lib/libavutil.so.55 (0x00007f1b3438b000)
	libm.so.6 => /usr/glibc-compat/lib/libm.so.6 (0x00007f1b3407b000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f1b33e69000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f1b36f96000)
	libc.musl-x86_64.so.1 => /lib/libc.musl-x86_64.so.1 (0x00007f1b33bdc000)
	libswresample.so.2 => /usr/lib/libswresample.so.2 (0x00007f1b339c1000)
	libva.so.1 => /usr/lib/libva.so.1 (0x00007f1b337a4000)
	libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x00007f1b334d8000)
	libx265.so.79 => /usr/lib/libx265.so.79 (0x00007f1b32e72000)
	libx264.so.148 => /usr/lib/libx264.so.148 (0x00007f1b32b1b000)
	libvpx.so.3 => /usr/lib/libvpx.so.3 (0x00007f1b326fe000)
	libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x00007f1b32455000)
	libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007f1b3222e000)
	libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0x00007f1b32005000)
	libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0x00007f1b31df7000)
	libopus.so.0 => /usr/lib/libopus.so.0 (0x00007f1b31bb4000)
	libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x00007f1b31949000)
	libva-drm.so.1 => /usr/lib/libva-drm.so.1 (0x00007f1b31746000)
	libva-x11.so.1 => /usr/lib/libva-x11.so.1 (0x00007f1b31540000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f1b3121d000)
	libogg.so.0 => /usr/lib/libogg.so.0 (0x00007f1b31017000)
	libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f1b30e08000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f1b30bf8000)
	libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f1b309f2000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f1b307cc000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f1b305c9000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f1b303c3000)
bash-4.3# 

Lots of info: gliderlabs/docker-alpine#11

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants