Hi Genodians
 
I try to port the libraries gnutls and nettle. While porting the gnutls library I was confronted with the error:
[...]/genode/repos/base/../../tool/check_abi gnutls.lib.so [...]/genode/repos/world/lib/symbols/gnutls && touch gnutls.lib.checked
child process exited abnormally
    while executing
"exec cat $abi_path 2> /dev/null"
    invoked from within
"split [exec cat $abi_path 2> /dev/null] "\n""
    invoked from within
"set abi_content [split [exec cat $abi_path 2> /dev/null] "\n"]"
    (file "[...]/genode/repos/base/../../tool/check_abi" line 29)
make[2]: *** [[...]/genode/repos/base/mk/lib.mk:244: gnutls.lib.checked] Fehler 1
make[1]: *** [var/libdeps:609: gnutls.lib] Fehler 2
make: *** [Makefile:311: gen_deps_and_build_targets] Fehler 2
 
When I made the building more verbose I saw that SYMBOL was set for most of the libraries, but not for nettle and (as my thesis) maybe wrong for gnutls:
 
Library gmp:
make --no-print-directory -C [...]/genode/build/x86_64/var/libcache/gmp -f [...]/genode/repos/base/mk/lib.mk \
     REP_DIR=[...]/genode/repos/libports \
     LIB_MK=[...]/genode/repos/libports/lib/mk/gmp.mk \
     SYMBOLS=[...]/genode/repos/libports/lib/symbols/gmp \
     LIB=gmp \
     ARCHIVES="gmp-mpf.lib.a gmp-mpn.lib.a gmp-mpq.lib.a gmp-mpz.lib.a ldso_so_support.lib.a" \
     SHARED_LIBS="ld.lib.so libc.lib.so vfs.lib.so" \
     BUILD_BASE_DIR=[...]/genode/build/x86_64 \
     SHELL=/usr/bin/bash \
     INSTALL_DIR=[...]/genode/build/x86_64/bin \
     DEBUG_DIR=[...]/genode/build/x86_64/debug
 
Library nettle:
make --no-print-directory -C [...]/genode/build/x86_64/var/libcache/nettle -f [...]/genode/repos/base/mk/lib.mk \
     REP_DIR=[...]/genode/repos/world \
     LIB_MK=[...]/genode/repos/world/lib/mk/nettle.mk \
     SYMBOLS= \
     LIB=nettle \
     ARCHIVES="ldso_so_support.lib.a" \
     SHARED_LIBS="gmp.lib.so ld.lib.so libc.lib.so vfs.lib.so" \
     BUILD_BASE_DIR=[...]/genode/build/x86_64 \
     SHELL=/usr/bin/bash \
     INSTALL_DIR=[...]/genode/build/x86_64/bin \
     DEBUG_DIR=[...]/genode/build/x86_64/debug
 
Library gnutls:
make --no-print-directory -C [...]/genode/build/x86_64/var/libcache/gnutls -f [...]/genode/repos/base/mk/lib.mk \
     REP_DIR=[...]/genode/repos/world \
     LIB_MK=[...]/genode/repos/world/lib/mk/gnutls.mk \
     SYMBOLS=[...]/genode/repos/world/lib/symbols/gnutls \
     LIB=gnutls \
     ARCHIVES="ldso_so_support.lib.a" \
     SHARED_LIBS="gmp.lib.so ld.lib.so libc.lib.so nettle.lib.so vfs.lib.so" \
     BUILD_BASE_DIR=[...]/genode/build/x86_64 \
     SHELL=/usr/bin/bash \
     INSTALL_DIR=[...]/genode/build/x86_64/bin \
     DEBUG_DIR=[...]/genode/build/x86_64/debug
 
Can someone give me a hint how to overcome this obstacle? Maybe there is a documentation about the SYMBOL / ABI / check_abi that I should read?
 
The current state of the port can be found at:
https://github.com/rolandbaer/genode-world/tree/gnutls
 
Thanks
Roland