<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/89451>89451</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            llvm-debuginfod static link
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          lateautumn233
      </td>
    </tr>
</table>

<pre>
    I tried to statically compile LLVM, but encountered some issues.

```shell
cmake -B /home/quqiu/dev/tc-build/build/llvm/final -G Ninja -S /home/quqiu/dev/tc-build/src/llvm-project/llvm -Wno-dev -DCLANG_ENABLE_ARCMT=OFF -DCLANG_ENABLE_STATIC_ANALYZER=OFF -DCLANG_PLUGIN_SUPPORT=OFF -DCLANG_TABLEGEN=/home/quqiu/dev/tc-build/build/llvm/bootstrap/bin/clang-tblgen -DCLANG_VENDOR=Lateautumn-20240420 -DCMAKE_AR=/home/quqiu/dev/tc-build/build/llvm/bootstrap/bin/llvm-ar -DCMAKE_BUILD_TYPE=Release '-DCMAKE_CXX_ARCHIVE_CREATE=<CMAKE_AR> DqcT <TARGET> <OBJECTS>' -DCMAKE_CXX_ARCHIVE_FINISH=true -DCMAKE_CXX_COMPILER=/home/quqiu/dev/tc-build/build/llvm/bootstrap/bin/clang++ -DCMAKE_CXX_FLAGS= -DCMAKE_C_COMPILER=/home/quqiu/dev/tc-build/build/llvm/bootstrap/bin/clang -DCMAKE_C_FLAGS= -DCMAKE_EXE_LINKER_FLAGS=-Wl,--emit-relocs -DCMAKE_INSTALL_PREFIX=/home/quqiu/dev/tc-build/installTmp -DCMAKE_RANLIB=/home/quqiu/dev/tc-build/build/llvm/bootstrap/bin/llvm-ranlib -DLLD_VENDOR=Lateautumn-20240420 -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-pc-linux-gnu '-DLLVM_DISTRIBUTION_COMPONENTS=llvm-ar;llvm-nm;llvm-objcopy;llvm-objdump;llvm-ranlib;llvm-readelf;llvm-strip;clang;clang-resource-headers;lld' -DLLVM_ENABLE_BINDINGS=OFF -DLLVM_ENABLE_CURL=OFF -DLLVM_ENABLE_OCAMLDOC=OFF '-DLLVM_ENABLE_PROJECTS=clang;lld;polly' -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_ENABLE_WARNINGS=OFF -DLLVM_ENABLE_ZSTD=OFF -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR= -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_PARALLEL_COMPILE_JOBS=16 -DLLVM_PARALLEL_LINK_JOBS=16 -DLLVM_TABLEGEN=/home/quqiu/dev/tc-build/build/llvm/bootstrap/bin/llvm-tblgen '-DLLVM_TARGETS_TO_BUILD=ARM;AArch64;X86' -DLLVM_TOOL_LLVM_DRIVER_BUILD=ON -DLLVM_USE_LINKER=/home/quqiu/dev/tc-build/build/llvm/bootstrap/bin/ld.lld -DZLIB_LIBRARY=/usr/lib/libz.a
``` 

```shell
ninja -C /home/quqiu/dev/tc-build/build/llvm/final
ninja: Entering directory `/home/quqiu/dev/tc-build/build/llvm/final'
[1/479] Linking CXX executable bin/llvm-debuginfod
FAILED: bin/llvm-debuginfod
: && /home/quqiu/dev/tc-build/build/llvm/bootstrap/bin/clang++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -w -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,--emit-relocs -fuse-ld=/home/quqiu/dev/tc-build/build/llvm/bootstrap/bin/ld.lld -Wl,--color-diagnostics    -Wl,--gc-sections tools/llvm-debuginfod/CMakeFiles/obj.llvm-debuginfod.dir/llvm-debuginfod.cpp.o tools/llvm-debuginfod/CMakeFiles/llvm-debuginfod.dir/llvm-debuginfod-driver.cpp.o -o bin/llvm-debuginfod  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libLLVMOption.a lib/libLLVMSupport.a  -lrt  -ldl  -lm  /usr/lib/libz.a lib/libLLVMDemangle.a && :
ld.lld: error: undefined symbol: llvm::HTTPClient::initialize()
>>> referenced by llvm-debuginfod.cpp
>>> tools/llvm-debuginfod/CMakeFiles/obj.llvm-debuginfod.dir/llvm-debuginfod.cpp.o:(llvm_debuginfod_main(int, char**, llvm::ToolContext const&))

ld.lld: error: undefined symbol: llvm::DebuginfodCollection::DebuginfodCollection(llvm::ArrayRef<llvm::StringRef>, llvm::DebuginfodLog&, llvm::ThreadPoolInterface&, double)
>>> referenced by llvm-debuginfod.cpp
>>> tools/llvm-debuginfod/CMakeFiles/obj.llvm-debuginfod.dir/llvm-debuginfod.cpp.o:(llvm_debuginfod_main(int, char**, llvm::ToolContext const&))

ld.lld: error: undefined symbol: llvm::DebuginfodServer::DebuginfodServer(llvm::DebuginfodLog&, llvm::DebuginfodCollection&)
>>> referenced by llvm-debuginfod.cpp
>>> tools/llvm-debuginfod/CMakeFiles/obj.llvm-debuginfod.dir/llvm-debuginfod.cpp.o:(llvm_debuginfod_main(int, char**, llvm::ToolContext const&))

ld.lld: error: undefined symbol: llvm::HTTPServer::bind(char const*)
>>> referenced by llvm-debuginfod.cpp
>>> tools/llvm-debuginfod/CMakeFiles/obj.llvm-debuginfod.dir/llvm-debuginfod.cpp.o:(llvm_debuginfod_main(int, char**, llvm::ToolContext const&))

ld.lld: error: undefined symbol: llvm::HTTPServer::bind(unsigned int, char const*)
>>> referenced by llvm-debuginfod.cpp
>>> tools/llvm-debuginfod/CMakeFiles/obj.llvm-debuginfod.dir/llvm-debuginfod.cpp.o:(llvm_debuginfod_main(int, char**, llvm::ToolContext const&))

ld.lld: error: undefined symbol: llvm::DebuginfodLog::push(llvm::Twine const&)
>>> referenced by llvm-debuginfod.cpp
>>> tools/llvm-debuginfod/CMakeFiles/obj.llvm-debuginfod.dir/llvm-debuginfod.cpp.o:(llvm_debuginfod_main(int, char**, llvm::ToolContext const&))

ld.lld: error: undefined symbol: llvm::DebuginfodCollection::updateForever(std::chrono::duration<long, std::ratio<1l, 1000l>>)
>>> referenced by llvm-debuginfod.cpp
>>> tools/llvm-debuginfod/CMakeFiles/obj.llvm-debuginfod.dir/llvm-debuginfod.cpp.o:(llvm_debuginfod_main(int, char**, llvm::ToolContext const&))

ld.lld: error: undefined symbol: llvm::HTTPServer::listen()
>>> referenced by llvm-debuginfod.cpp
>>> tools/llvm-debuginfod/CMakeFiles/obj.llvm-debuginfod.dir/llvm-debuginfod.cpp.o:(std::_Function_handler<void (), llvm_debuginfod_main(int, char**, llvm::ToolContext const&)::$_0>::_M_invoke(std::_Any_data const&))

ld.lld: error: undefined symbol: llvm::DebuginfodLog::pop()
>>> referenced by llvm-debuginfod.cpp
>>> tools/llvm-debuginfod/CMakeFiles/obj.llvm-debuginfod.dir/llvm-debuginfod.cpp.o:(std::_Function_handler<void (), llvm_debuginfod_main(int, char**, llvm::ToolContext const&)::$_1>::_M_invoke(std::_Any_data const&))
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
``` 

May I ask what is the solution?


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWUtz2roX_zTKRmMGZCCwYGH8SH2vMYxx2rQbj2wJUCMkKstJuZ_-P7LNIzS3zU3TxX8mM4yxdI7O63d0JFm4LNlaUDoBgykYeFe40hupJhxriitdbQWy7atckv0khFoxSqCWsNRYswJzvoeF3O4YpzCKPs4AcmFeaUhFISuhqaIElnJLISvLipYd0PVA12mfw27zKzeU86av2OJ7Cq0pBCjYyC0FKPhWfWMVQAGhDwAFurDyinECUHD45_xhC1CwYgJzaN3AmImvGFrLl8goVdFKsHZKfqWFbpvQ-iSkRegDtDw3cuKbzI-daeRnTuLOUmB78yC4JC1TJw3dzImd6PMXP7lgWkS3N2GcLW8Xi3lyKSE1Am78GNjef_c8l1KXWuGdeWcCoKDgWKwtnfM1FUcdH_3YmxuroiOyFuqifrePuoZp5vxt3HsjE-qYYnUUPL0NIy9LPy98YHsJ5RSXFAJ0faC7d3cmth_Cj37mJr6TGj5guyezfOh9K1IIbDd1khs_NT3AdufTv3w3XQLbB-gaPicuCONw-QHYnlYVfcLhzmeLMPLfyuc67ABNAZo-URNEzs0S2N6p849oPhP_g0b_zs-iMP7bT4406xMHyLUsumXaUpTLojyyh_EydaIoWyR-EN69zEgmSo05T7e7o5jEiaNw-pYZpbDgLIeWF0XerzLaFKTM8wPnNkqzJmeyNAkXkUmt76NhNuxbu8LiTFTfrbWomnRsRoXLNAmnt2k4j2us5rEfmyTz2rwG9rR-E9vDm8y_FnK3P2uSars7NBu7jy2KCeWrQ7PUihnOJn_af0vRUlaqoNbGcKuy5iZNktdGtmVnGsZeGNeQNiXlnOjeJtGzhLnrzCJv7rbEk-stfZHM23nlHcwy2u3pTnK-_9GK1E9mYRzMn1X2yUnifzXxyzL1Lgh3qZ_ETpS1xXE-j5amM3Gy5fw2cf3MC5Mmu2v-MHajW8_PvLl7oeJA8e-c2SLyL6gLJ3GiyI8OszH7az41LL3hDxxm7vxIfuOyXSdDW7VPgDSZu8zSeVNEge05yQzYU8dRxWbYB_b0bjQ8Q8TEK2vSOAk_-slx2Dw-sNwuD-XgrUwnHc4JtLwvUTjNonCaOMnnRnZVKsPA8ub5TwdfrP_wV7sC0azo7mt3BWdSgO1A32xMmFhDwhQttFR7aFS-Uja6bg0fTHsABf3rMRh4MGLi3qhw7-4g_U6LSuOcU3iGM6F5tWZiJUkzPnDCyPeMfT9hMmSAhgANXxGLXyxYq0XoQmslpFXSLRaaFRYzkdrJkmkmBbRWD6xkOeNM7y0mOBO0tDaMELPJ-ESVkgrYHsGaWppt6VlfJdYVVoQSCz9gxnErQ9BHaD1Ca0UYXgtZalaUViG5VNBarSpRGLVWSev_0vBhjc_acxtaXuz509sb-OxqtqpKapmq9aY53mqqDbXOTIcQHonr4mSnlpKXzyCKAneG72nAODVkmX_tXLB0CFM_DuwUu11HvlTsi0RaRLEHqlrJlnw-B4_uqR3WG4BcgBAYuAD150l4E8YABZ1OO9dtByAE4XHam7Iz35mAdPDT3mW120mlOxhCiyttnoSb5xbCZ8vH0-GeSdY1px18nBl2W0sawMycaRPRgZUgdMWEOZbst7nkpq8G3DZz60OaLlzOqNBNmwmmGebsHwrQCKDxYRL6zQ8quqKKioISmO_hMzBdDvgzqVAHe2RI2YmUbbHBcMSENqeyYoMVQE79c89cTqXkrhSaftewkKLUdRDHJ2dfF0nvaIcrOW9mwk8ojfUNg6MU3id0BWz31LnUpmLXvf5TB07yIrmujX_i3sbstRZS8tDUshUuaMtDZJVz-g7qq0BdUvVA1b_0noP5c3Sez4XhOyj_sWadw5EzQQAaGSsOapz3gP5-QCtRfyYj8Myq9wD_XhkxNaHu2lXl5kndSB-ZoE-Uvof3t5feamc254FUtCnTpSYNodgoKWTzTiqFmyEul-Z04MIjX00Bttszu0DY63a7vA3wO0CvLzCclZqK_4Md5jEPsqA9nGUbLAg3jrgPkhHYOtFG8e0iXhMB6mfd2s3ahlnGxIO8p08Mc8Q-M6fEP12v5O4dr5fg1fsdvM4-TzyBizNxT83iu91iQeAKM04JfGR6A-l3ZiwhFPaMc1VJofVQX1hRCo3-oiluR-Se_Qg1w3sYQlzew8cN1pCVUG8oLCWvmsoYnDNfkYlNxvYYX9FJ77pnDwajce_6ajNZjceIjItxf9gfjVc5Hgxoft0d0VEfDUc2ur5ik-ZrdW-Muvagd90ZDfJiOCRkhImN834P9Lt0ixmvoe9Itb6q79Emo3F_0LviOKe8rK_tEBL0sblkq8_k3pWa1ImRV-sS9LumxJQnKZppTieXp_vmTq-O7lWl-GSj9a6scQwACtZMb6q8U8jt6RvJxcVZc8kHUFDb978AAAD__1CG-L8">