rpki-client / rpki-client-portable

Portability shim for OpenBSD's rpki-client

Home Page:https://rpki-client.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nightly GitHub Action failure

robert-scheck opened this issue · comments

Our nightly GitHub Action for the container image failed with:

#37 110.1 libtool: link: cc -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wsign-compare -Werror-implicit-function-declaration -Wno-pointer-sign "-DRPKI_PATH_TAL_DIR=\"/etc/tals\"" "-DRPKI_PATH_BASE_DIR=\"/var/cache/rpki-client\"" "-DRPKI_PATH_OUT_DIR=\"/var/lib/rpki-client\"" -g -O2 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -o rpki-client rpki_client-as.o rpki_client-cert.o rpki_client-cms.o rpki_client-crl.o rpki_client-gbr.o rpki_client-io.o rpki_client-ip.o rpki_client-log.o rpki_client-main.o rpki_client-mft.o rpki_client-mkdir.o rpki_client-output.o rpki_client-output-bgpd.o rpki_client-output-bird.o rpki_client-output-csv.o rpki_client-output-json.o rpki_client-parser.o rpki_client-roa.o rpki_client-rsync.o rpki_client-tal.o rpki_client-validate.o rpki_client-x509.o  ../compat/.libs/libcompat.a ../compat/.libs/libcompatnoopt.a -lcrypto -lfts
#37 110.4 /usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: rpki_client-main.o: in function `main':
#37 110.4 /tmp/rpki-client-portable/src/main.c:1064: undefined reference to `proc_http'
#37 110.5 collect2: error: ld returned 1 exit status

Some of this was fixed in 1b4605f but now libtls is required (either via libressl libtls or libretls). This is an external dependency and not included in the build compat.

Yes, confirming that the following conditions lead to successful builds on Fedora 32, 33, 34, 35 as well as on EPEL 7 and 8 (for all supported hardware architectures):

Until LibreTLS lands in an Alpine stable release, adding the package libtls-standalone-dev lets the build succeed as well. Output from a (random) test run:

[…]
rpki-client: all files parsed: generating output
rpki-client: Route Origin Authorizations: 44489 (6 failed parse, 0 invalid)
rpki-client: Certificates: 22153 (0 failed parse, 0 invalid)
rpki-client: Trust Anchor Locators: 4
rpki-client: Manifests: 22153 (6 failed parse, 2 stale)
rpki-client: Certificate revocation lists: 22145
rpki-client: Ghostbuster records: 3
rpki-client: Repositories: 30
rpki-client: Files removed: 2443
rpki-client: VRP Entries: 205462 (203793 unique)

And thus rpki-client/rpki-client-container@99690d3 let's the build succeed again (also on all architectures). To maybe improve the libtls handling, I've opened #38 additionally.

Thank you!