cloudflare / quiche

🥧 Savoury implementation of the QUIC transport protocol and HTTP/3
https://docs.quic.tech/quiche/
BSD 2-Clause "Simplified" License
9.15k stars 690 forks source link

libquiche.so undefined references #1761

Open bagder opened 3 months ago

bagder commented 3 months ago

When I run curl's configure to try to use quiche from current git, I get these errors:

/usr/bin/ld: $path/libquiche.so: undefined reference to `__gxx_personality_v0'
/usr/bin/ld: $path/libquiche.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
/usr/bin/ld: $path/libquiche.so: undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: $path/libquiche.so: undefined reference to `vtable for __cxxabiv1::__class_type_info'

($path is me hiding my local long path to make it easier to the eye)

Any clues on what I am missing? (These looks like traces of C++, which I suspected might come from BoringSSL, but I am able to build from current BoringSSL without getting this problem.)

ghedo commented 3 months ago

Are you using the BoringSSL version vendored by quiche or a different one? Wonder if it's related to https://boringssl-review.googlesource.com/c/boringssl/+/66288 (which would affect newer BoringSSL versions than what quiche currently uses).

bagder commented 3 months ago

Ah yes, I have a separate BoringSSL build. I forgot about mentioning that. I updated to their latest git just a few days ago (April 12, 2024).

I too strongly suspect it has something to do with that C++ism they introduced.