facebook / mvfst

An implementation of the QUIC transport protocol.
MIT License
1.5k stars 243 forks source link

libmvfst_client.so.0 doesn't contain the symbol quic::QuicTransportBaseLite::setConnectionSetupCallback #355

Open yurivict opened 1 month ago

yurivict commented 1 month ago

quic::QuicTransportBaseLite::setConnectionSetupCallback is defined in the sources but it doesn't appear in the library:

$ nm ./work/.build/quic/client/libmvfst_client.so.0 | grep setConnectionSetupCallback
                 U _ZN4quic21QuicTransportBaseLite26setConnectionSetupCallbackEN5folly15MaybeManagedPtrINS_14QuicSocketLite23ConnectionSetupCallbackEEE
                 U _ZTv0_n24_N4quic21QuicTransportBaseLite26setConnectionSetupCallbackEN5folly15MaybeManagedPtrINS_14QuicSocketLite23ConnectionSetupCallbackEEE

This causes this failure in the proxygen-2024.10.07.00 dependency:

ld: error: undefined reference due to --no-allow-shlib-undefined: quic::QuicTransportBaseLite::setConnectionSetupCallback(folly::MaybeManagedPtr<quic::QuicSocketLite::ConnectionSetupCallback>)
>>> referenced by /usr/local/lib/libmvfst_client.so.0

ld: error: undefined reference due to --no-allow-shlib-undefined: quic::QuicTransportBaseLite::setConnectionCallback(folly::MaybeManagedPtr<quic::QuicSocketLite::ConnectionCallback>)
>>> referenced by /usr/local/lib/libmvfst_client.so.0

ld: error: undefined reference due to --no-allow-shlib-undefined: VTT for quic::QuicTransportBaseLite
>>> referenced by /usr/local/lib/libmvfst_client.so.0

ld: error: undefined reference due to --no-allow-shlib-undefined: virtual thunk to quic::QuicTransportBaseLite::setConnectionSetupCallback(folly::MaybeManagedPtr<quic::QuicSocketLite::ConnectionSetupCallback>)
>>> referenced by /usr/local/lib/libmvfst_client.so.0

ld: error: undefined reference due to --no-allow-shlib-undefined: virtual thunk to quic::QuicTransportBaseLite::setConnectionCallback(folly::MaybeManagedPtr<quic::QuicSocketLite::ConnectionCallback>)
>>> referenced by /usr/local/lib/libmvfst_client.so.0

ld: error: undefined reference due to --no-allow-shlib-undefined: typeinfo for quic::QuicTransportBaseLite
>>> referenced by /usr/local/lib/libmvfst_client.so.0

Version: 2024-10-07 clang-18 FreeBSD 14.1

mikehb commented 1 month ago

I have same issue with gcc13