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