Skip to content

Can't build main branch #13

@jdstroy

Description

@jdstroy

The current commit (527737bbcb32994c33d2c2f32c5da61e32b6d983) on main is broken; slipstream-server is pulling in tls_api.c, which is trying to pull in picotls symbols (e.g. ptls_set_server_name, ptls_set_negotiated_protocol, and more):

[24/24] Linking target slipstream-server
FAILED: slipstream-server
c++  -o slipstream-server slipstream-server.p/src_slipstream_server.c.o slipstream-server.p/src_slipstream_server_cc.c.o
 slipstream-server.p/src_slipstream_server_cli.cpp.o slipstream-server.p/src_slipstream_sockloop.c.o slipstream-server.p
/src_slipstream_utils.c.o slipstream-server.p/src_slipstream_inline_dots.c.o slipstream-server.p/extern_lua-resty-base-e
ncoding_base32.c.o slipstream-server.p/extern_SPCDNS_src_codec.c.o slipstream-server.p/extern_SPCDNS_src_mappings.c.o sl
ipstream-server.p/extern_SPCDNS_src_netsimple.c.o slipstream-server.p/extern_SPCDNS_src_output.c.o -Wl,--as-needed -Wl,-
-no-undefined -Wl,-O1 -Wl,--start-group subprojects/picoquic/libpicoquic_core.a -static-libgcc -static-libstdc++ -pthrea
d /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/x86_64-linux-gnu/libcrypto.so -Wl,--end-group
/usr/bin/ld: subprojects/picoquic/libpicoquic_core.a(picoquic_picoquic_ptls_minicrypto.c.o): warning: relocation against
 `ptls_minicrypto_aes128gcmsha256' in read-only section `.text'
/usr/bin/ld: subprojects/picoquic/libpicoquic_core.a(picoquic_tls_api.c.o): in function `picoquic_client_hello_call_back
':
tls_api.c:(.text+0x91): undefined reference to `ptls_set_server_name'
/usr/bin/ld: tls_api.c:(.text+0x143): undefined reference to `ptls_set_negotiated_protocol'
/usr/bin/ld: tls_api.c:(.text+0x258): undefined reference to `ptls_set_negotiated_protocol'
/usr/bin/ld: tls_api.c:(.text+0x2e0): undefined reference to `ptls_set_negotiated_protocol'
/usr/bin/ld: subprojects/picoquic/libpicoquic_core.a(picoquic_tls_api.c.o): in function `picoquic_server_encrypt_ticket_call_back':
tls_api.c:(.text+0x35f): undefined reference to `ptls_buffer_reserve'
/usr/bin/ld: tls_api.c:(.text+0x3ab): undefined reference to `ptls_buffer_reserve'
/usr/bin/ld: subprojects/picoquic/libpicoquic_core.a(picoquic_tls_api.c.o): in function `picoquic_client_save_ticket_call_back':
tls_api.c:(.text+0x62f): undefined reference to `ptls_get_server_name'
/usr/bin/ld: tls_api.c:(.text+0x63a): undefined reference to `ptls_get_negotiated_protocol'
/usr/bin/ld: tls_api.c:(.text+0x645): undefined reference to `ptls_get_data_ptr'
/usr/bin/ld: subprojects/picoquic/libpicoquic_core.a(picoquic_tls_api.c.o): in function `picoquic_log_event_call_back':
tls_api.c:(.text+0x7ce): undefined reference to `ptls_get_client_random'
/usr/bin/ld: tls_api.c:(.text+0x7de): undefined reference to `ptls_hexdump'
/usr/bin/ld: subprojects/picoquic/libpicoquic_core.a(picoquic_tls_api.c.o): in function `picoquic_set_key_from_secret':
tls_api.c:(.text+0xa41): undefined reference to `ptls_aead_free'
/usr/bin/ld: tls_api.c:(.text+0xa57): undefined reference to `ptls_aead_new'
/usr/bin/ld: tls_api.c:(.text+0xa7b): undefined reference to `ptls_cipher_free'
/usr/bin/ld: tls_api.c:(.text+0xab6): undefined reference to `ptls_hkdf_expand_label'
/usr/bin/ld: tls_api.c:(.text+0xad3): undefined reference to `ptls_cipher_new'
/usr/bin/ld: tls_api.c:(.text+0xafa): undefined reference to `ptls_aead_free'
/usr/bin/ld: tls_api.c:(.text+0xb0f): undefined reference to `ptls_aead_new'
/usr/bin/ld: tls_api.c:(.text+0xb5a): undefined reference to `ptls_cipher_free'
/usr/bin/ld: tls_api.c:(.text+0xb95): undefined reference to `ptls_hkdf_expand_label'
/usr/bin/ld: tls_api.c:(.text+0xbb1): undefined reference to `ptls_cipher_new'
/usr/bin/ld: subprojects/picoquic/libpicoquic_core.a(picoquic_tls_api.c.o): in function `picoquic_update_traffic_key_callback':
tls_api.c:(.text+0xbf3): undefined reference to `ptls_get_data_ptr'
/usr/bin/ld: tls_api.c:(.text+0xc12): undefined reference to `ptls_get_cipher'
/usr/bin/ld: tls_api.c:(.text+0xcb5): undefined reference to `ptls_is_server'

(the rest is omitted for brevity)

The change was introduced in 677e1eb258bab5214501d3d025ffdb567501e533. Upon reverting to a0a52161eb9ce40083b328d1139f66cc028abd71 and applying the remaining commits by cherry-picking, the build succeeds.

Build host:

PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.2
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Linux debian 4.4.0-26100-Microsoft #7309-Microsoft Fri Jan 01 08:00:00 PST 2016 x86_64 GNU/Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions