Alpine Linux support
rana opened this issue · comments
Would you generate a Julia Alpine Linux docker image?
What are the barriers and difficulties to making a Julia Alpine Linux docker image a reality?
It would require that the binaries we consume from https://julialang.org/downloads/ work in Alpine (or that alternative Alpine-supporting binaries be made available):
$ docker run -it --rm alpine:3.9
/ # wget https://julialang-s3.julialang.org/bin/linux/x64/1.1/julia-1.1.0-linux-
x86_64.tar.gz
Connecting to julialang-s3.julialang.org (151.101.26.49:443)
julia-1.1.0-linux-x8 100% |********************************| 85.4M 0:00:00 ETA
/ # tar -xf julia-1.1.0-linux-x86_64.tar.gz
/ # cd julia-1.1.0/
/julia-1.1.0 # ./bin/julia
/bin/sh: ./bin/julia: not found
/julia-1.1.0 # ldd bin/julia
/lib64/ld-linux-x86-64.so.2 (0x7f45c5cc6000)
libjulia.so.1 => bin/../lib/libjulia.so.1 (0x7f45c5556000)
libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7f45c5cc6000)
librt.so.1 => /lib64/ld-linux-x86-64.so.2 (0x7f45c5cc6000)
libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f45c5cc6000)
libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f45c5cc6000)
libLLVM-6.0.so => bin/../lib/julia/libLLVM-6.0.so (0x7f45c2830000)
libstdc++.so.6 => bin/../lib/julia/libstdc++.so.6 (0x7f45c24b2000)
libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f45c5cc6000)
libgcc_s.so.1 => bin/../lib/julia/libgcc_s.so.1 (0x7f45c229a000)
Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by bin/../lib/libjulia.so.1)
Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by bin/../lib/julia/libLLVM-6.0.so)
Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by bin/../lib/julia/libstdc++.so.6)
Error relocating bin/../lib/libjulia.so.1: gnu_get_libc_version: symbol not found
Error relocating bin/../lib/libjulia.so.1: dladdr1: symbol not found
Error relocating bin/../lib/libjulia.so.1: jl_get_ptls_states: symbol not found
Error relocating bin/../lib/libjulia.so.1: __isnan: symbol not found
Error relocating bin/../lib/libjulia.so.1: __isnanf: symbol not found
Error relocating bin/../lib/julia/libLLVM-6.0.so: pthread_getname_np: symbol not found
Error relocating bin/../lib/julia/libLLVM-6.0.so: mallinfo: symbol not found
Error relocating bin/../lib/julia/libLLVM-6.0.so: backtrace_symbols_fd: symbol not found
Error relocating bin/../lib/julia/libLLVM-6.0.so: backtrace: symbol not found
Error relocating bin/../lib/julia/libgcc_s.so.1: __cpu_indicator_init: symbol not found
Error relocating bin/../lib/julia/libgcc_s.so.1: __cpu_model: symbol not found
Error relocating bin/julia: jl_get_ptls_states: symbol not found
(They're built against glibc and Alpine uses musl libc.)