Skip to content

[macOS] Build fails if dynamic libs are on: Undefined symbols: quic::getAckState(quic::QuicConnectionStateBase&, quic::PacketNumberSpace) #326

Open
@barracuda156

Description

@barracuda156

This is on 14.2.1 aarch64:

:info:build FAILED: quic/dsr/libmvfst_dsr_frontend.0.dylib 
:info:build : && /usr/bin/clang++ -pipe -I/opt/local/libexec/openssl3/include -I/opt/local/libexec/boost/1.81/include -Os -DNDEBUG -I/opt/local/libexec/openssl3/include -I/opt/local/libexec/boost/1.81/include -isystem/opt/local/include -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -mmacosx-version-min=14.0 -dynamiclib -Wl,-headerpad_max_install_names -L/opt/local/libexec/openssl3/lib -L/opt/local/libexec/boost/1.81/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -o quic/dsr/libmvfst_dsr_frontend.0.dylib -install_name @rpath/libmvfst_dsr_frontend.0.dylib quic/dsr/CMakeFiles/mvfst_dsr_frontend.dir/frontend/Scheduler.cpp.o quic/dsr/CMakeFiles/mvfst_dsr_frontend.dir/frontend/WriteCodec.cpp.o quic/dsr/CMakeFiles/mvfst_dsr_frontend.dir/frontend/WriteFunctions.cpp.o  -Wl,-rpath,/opt/local/lib  quic/dsr/libmvfst_dsr_types.0.dylib  quic/codec/libmvfst_codec_types.0.dylib  quic/common/libmvfst_bufutil.0.dylib  quic/libmvfst_constants.0.dylib  quic/libmvfst_exception.0.dylib  /opt/local/lib/libfizz.1.0.0.dylib  /opt/local/lib/libfolly.0.58.0-dev.dylib  /opt/local/lib/libfmt10/libfmt.10.2.1.dylib  /opt/local/libexec/boost/1.81/lib/libboost_context-mt.dylib  /opt/local/libexec/boost/1.81/lib/libboost_filesystem-mt.dylib  /opt/local/libexec/boost/1.81/lib/libboost_program_options-mt.dylib  /opt/local/libexec/boost/1.81/lib/libboost_regex-mt.dylib  /opt/local/libexec/boost/1.81/lib/libboost_system-mt.dylib  /opt/local/libexec/boost/1.81/lib/libboost_thread-mt.dylib  /opt/local/libexec/boost/1.81/lib/libboost_chrono-mt.dylib  /opt/local/libexec/boost/1.81/lib/libboost_atomic-mt.dylib  /opt/local/lib/libdouble-conversion.dylib  /opt/local/lib/libglog.dylib  /opt/local/lib/libevent.dylib  /opt/local/lib/libz.dylib  /opt/local/lib/libbz2.dylib  /opt/local/lib/liblzma.dylib  /opt/local/lib/liblz4.dylib  /opt/local/lib/libsnappy.dylib  /opt/local/lib/libsodium.dylib  /opt/local/lib/libunwind.dylib  -lc++abi  /opt/local/lib/libgflags.2.2.2.dylib  /opt/local/libexec/openssl3/lib/libssl.dylib  /opt/local/libexec/openssl3/lib/libcrypto.dylib  /opt/local/lib/libzstd.dylib  /opt/local/lib/libsodium.dylib  /opt/local/lib/libz.dylib && :
:info:build ld: Undefined symbols:
:info:build   quic::getAckState(quic::QuicConnectionStateBase&, quic::PacketNumberSpace), referenced from:
:info:build       quic::DSRStreamFrameScheduler::enrichInstruction(quic::SendInstruction::Builder&, quic::QuicStreamState const&) in Scheduler.cpp.o
:info:build       quic::writePacketizationRequest(quic::QuicServerConnectionState&, quic::ConnectionId const&, unsigned long, quic::Aead const&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) in WriteFunctions.cpp.o
:info:build   quic::getNextPacketNum(quic::QuicConnectionStateBase const&, quic::PacketNumberSpace), referenced from:
:info:build       quic::DSRStreamFrameScheduler::enrichInstruction(quic::SendInstruction::Builder&, quic::QuicStreamState const&) in Scheduler.cpp.o
:info:build       quic::writePacketizationRequest(quic::QuicServerConnectionState&, quic::ConnectionId const&, unsigned long, quic::Aead const&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) in WriteFunctions.cpp.o
:info:build   quic::updateConnection(quic::QuicConnectionStateBase&, folly::Optional<quic::PacketEvent>, quic::RegularQuicWritePacket, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>, unsigned int, unsigned int, bool), referenced from:
:info:build       quic::writePacketizationRequest(quic::QuicServerConnectionState&, quic::ConnectionId const&, unsigned long, quic::Aead const&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) in WriteFunctions.cpp.o
:info:build   quic::QuicStreamManager::findStream(unsigned long long), referenced from:
:info:build       quic::DSRStreamFrameScheduler::enrichAndAddSendInstruction(unsigned int, quic::DSRStreamFrameScheduler::SchedulingResult, quic::DSRPacketBuilderBase&, quic::SendInstruction::Builder&, quic::PriorityQueue const&, std::__1::__wrap_iter<quic::PriorityQueue::Level const*> const&, quic::QuicStreamState&) in Scheduler.cpp.o
:info:build       quic::DSRStreamFrameScheduler::writeStream(quic::DSRPacketBuilderBase&) in Scheduler.cpp.o
:info:build   quic::writeLoopTimeLimit(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>, quic::QuicConnectionStateBase const&), referenced from:
:info:build       quic::writePacketizationRequest(quic::QuicServerConnectionState&, quic::ConnectionId const&, unsigned long, quic::Aead const&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) in WriteFunctions.cpp.o
:info:build       quic::writePacketizationRequest(quic::QuicServerConnectionState&, quic::ConnectionId const&, unsigned long, quic::Aead const&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) in WriteFunctions.cpp.o
:info:build   quic::getLargestDeliverableOffset(quic::QuicStreamState const&), referenced from:
:info:build       quic::DSRStreamFrameScheduler::enrichInstruction(quic::SendInstruction::Builder&, quic::QuicStreamState const&) in Scheduler.cpp.o
:info:build   quic::congestionControlWritableBytes(quic::QuicConnectionStateBase&), referenced from:
:info:build       quic::writePacketizationRequest(quic::QuicServerConnectionState&, quic::ConnectionId const&, unsigned long, quic::Aead const&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) in WriteFunctions.cpp.o
:info:build   quic::getSendConnFlowControlBytesWire(quic::QuicConnectionStateBase const&), referenced from:
:info:build       quic::DSRStreamFrameScheduler::hasPendingData() const in Scheduler.cpp.o
:info:build       quic::DSRStreamFrameScheduler::writeStream(quic::DSRPacketBuilderBase&) in Scheduler.cpp.o
:info:build   quic::getSendStreamFlowControlBytesWire(quic::QuicStreamState const&), referenced from:
:info:build       quic::DSRStreamFrameScheduler::writeStream(quic::DSRPacketBuilderBase&) in Scheduler.cpp.o
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)

Something seems to be broken.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions