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 <[email protected]> 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/luaffi/ffi.c:2747: > undefined reference to `dlopen' > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/luaffi/ffi.c:2752: > undefined reference to `dlopen' > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/luaffi/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/luaffi/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/luaffi/ffi.c:3254: > undefined reference to `dlopen' > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/luaffi/ffi.c:3255: > undefined reference to `dlopen' > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/luaffi/ffi.c:3257: > undefined reference to `dlopen' > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/luaffi/ffi.c:3259: > undefined reference to `dlopen' > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/luaffi/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/luaffi/call.c:175: > undefined reference to `dlsym' > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/luaffi/call.c:176: > undefined reference to `dlsym' > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/luaffi/call.c:177: > undefined reference to `dlsym' > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/luaffi/call.c:178: > undefined reference to `dlsym' > /opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/luaffi/call.c:179: > undefined reference to `dlsym' > liblua53ffi.a(liblua53ffi_a-call.o):/opt/svn/temp/experimental/experimental/build/texk/web2c/../../../source/texk/web2c/luatexdir/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 : [email protected] / 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 ___________________________________________________________________________________
