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
___________________________________________________________________________________

Reply via email to