I successfully compiled LuaTeX trunk in the Alpine Docker container. Steps to reproduce:
Start the Docker container using `sudo docker run -it alpine:edge` Inside the container: apk update apk add subversion bash gcc g++ make texinfo svn co --username anonsvn --password anonsvn https://serveur-svn.lri.fr/svn/modhel/luatex/trunk cd trunk ./build.sh --parallel --jit 2>&1 | tee out-linux-musl After that I have: /trunk # ldd build/texk/web2c/luatex /lib/ld-musl-x86_64.so.1 (0x7f60dedc9000) libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f60dedc9000) /trunk # ldd build/texk/web2c/luajittex /lib/ld-musl-x86_64.so.1 (0x7f9814229000) libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f9814229000) I could not yet test it because I'd have to create texmf.cnf and formats. On Sat, 2018-01-20 at 16:13 +1300, Henri Menke wrote: > Dear Luigi, > > Thank you very much for taking the time to look into this. I was planning to > attempt a native > Alpine Linux build next week but the GCC wrapper is a great start. The error > message is only a > linking error, ffi compiles fine. It seems that luatex is not explicitly > linked against libdl.so > (which is automatically the case when using glibc aka libc6). In principle > this should be easily > fixed by adding "-ldl" to the linker flags. > > Cheers, Henri > > On 01/20/2018 01:33 AM, luigi scarso wrote: > > > > On Fri, Jan 19, 2018 at 12:38 PM, Henri Menke <henrime...@gmail.com> wrote: > > > > > > On 01/20/2018 12:22 AM, Mojca Miklavec wrote: > > > > > > > > On 19 January 2018 at 11:40, Henri Menke wrote: > > > > > > > > > > Dear list, > > > > > > > > > > I'd like to support Linux platforms which use musl > > > > > (https://www.musl-libc.org/) instead of > > > > > glibc, like for instance Alpine Linux. > > (Ubuntu 16.04) > > Following https://www.musl-libc.org/doc/1.0.0/manual.html > > > > export PATH=/opt/musl/1.1.18/bin:$PATH > > export CC='musl-gcc' > > ./build.sh --parallel --jit 2>&1 | tee out-linux-musl > > > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/ffi.c:2747: > > undefined reference to `dlopen' > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/ffi.c:2752: > > undefined reference to `dlopen' > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/ffi.c:2760: > > undefined reference to `dlopen' > > liblua53ffi.a(liblua53ffi_a-ffi.o): In function `find_symbol': > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/ffi.c:2789: > > undefined reference to `dlsym' > > liblua53ffi.a(liblua53ffi_a-ffi.o): In function `setup_upvals': > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/ffi.c:3254: > > undefined reference to `dlopen' > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/ffi.c:3255: > > undefined reference to `dlopen' > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/ffi.c:3257: > > undefined reference to `dlopen' > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/ffi.c:3259: > > undefined reference to `dlopen' > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/ffi.c:3260: > > undefined reference to `dlopen' > > liblua53ffi.a(liblua53ffi_a-call.o): In function `reserve_code': > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/call.c:175: > > undefined reference to `dlsym' > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/call.c:176: > > undefined reference to `dlsym' > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/call.c:177: > > undefined reference to `dlsym' > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/call.c:178: > > undefined reference to `dlsym' > > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/lu > > affi/call.c:179: > > undefined reference to `dlsym' > > liblua53ffi.a(liblua53ffi_a- > > call.o):/opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luat > > exdir/luaffi/call.c:180: > > more undefined references to `dlsym' follow > > /opt/svn/temp/experimental/experimental/build/libs/lua53/.libs/libtexlua53.a(loadlib.o): > > In function `lsys_sym': > > /opt/svn/temp/experimental/experimental/build/libs/lua53/../../../source/libs/lua53/lua53- > > src/src/loadlib.c:135: > > undefined reference to `dlerror' > > /opt/svn/temp/experimental/experimental/build/libs/lua53/.libs/libtexlua53.a(loadlib.o): > > In function `lsys_load': > > /opt/svn/temp/experimental/experimental/build/libs/lua53/../../../source/libs/lua53/lua53- > > src/src/loadlib.c:127: > > undefined reference to `dlopen' > > /opt/svn/temp/experimental/experimental/build/libs/lua53/../../../source/libs/lua53/lua53- > > src/src/loadlib.c:128: > > undefined reference to `dlerror' > > /opt/svn/temp/experimental/experimental/build/libs/lua53/.libs/libtexlua53.a(loadlib.o): > > In function `lsys_unloadlib': > > /opt/svn/temp/experimental/experimental/build/libs/lua53/../../../source/libs/lua53/lua53- > > src/src/loadlib.c:122: > > undefined reference to `dlclose' > > collect2: error: ld returned 1 exit status > > Makefile:5489: recipe for target 'luatex53' failed > > make: *** [luatex53] Error 1 > > strip: 'build/texk/web2c/luajittex': No such file > > strip: 'build/texk/web2c/luatex53': No such file > > ls: cannot access 'build/texk/web2c/luajittex': No such file or directory > > mv: cannot stat 'build/texk/web2c/luatex53': No such file or directory > > ls: cannot access 'build/texk/web2c/luatex': No such file or directory > > > > ..ffi... next thing to fix :-) > > > > (btw, the C++ compiler is native g++) > > ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________