docker-library / julia

Docker Official Image packaging for julia

Home Page:http://julialang.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.)