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
___________________________________________________________________________________

Reply via email to