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

    <tr>
        <th>Summary</th>
        <td>
            18.x: undefined symbol: main for llvm-omp-kernel-replay and llvm-omp-device-info
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          liam-clink
      </td>
    </tr>
</table>

<pre>
    I'm building release/18.x using this invocation:

```
cmake -S llvm -B build -G Ninja -DLLVM_ENABLE_PROJECTS="bolt;clang;clang-tools-extra;compiler-rt;cross-project-tests;libclc;lld;lldb;mlir;polly;pstl;openmp" -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_LINKER=lld -DLLVM_TARGETS_TO_BUILD="AArch64;AMDGPU;ARM;AVR;WebAssembly;X86" -DLLVM_ENABLE_SPHINX=true -DLLVM_ENABLE_RTTI=true -DLLVM_INSTALL_UTILS=true -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind"
```

The error I'm getting:

```
[66/6814] Linking CXX executable bin/llvm-omp-kernel-replay
FAILED: bin/llvm-omp-kernel-replay 
: && /usr/local/gcc-12/bin/g++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -Wcast-qual -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -Wno-maybe-uninitialized -fno-semantic-interposition -fdata-sections -O3 -DNDEBUG -fuse-ld=lld -Wl,--color-diagnostics    -Wl,--gc-sections  -flto projects/openmp/libomptarget/tools/kernelreplay/CMakeFiles/llvm-omp-kernel-replay.dir/llvm-omp-kernel-replay.cpp.o -o bin/llvm-omp-kernel-replay -Wl,-rpath,"\$ORIGIN/../lib:/home/liam/repos/llvm-project/build/lib:" lib/libLLVMSupport.a  lib/libomptarget.so.18.1  lib/libomp.so  -lm lib/libLLVMObject.a  lib/libLLVMIRReader.a  lib/libLLVMBitReader.a lib/libLLVMAsmParser.a  lib/libLLVMCore.a  lib/libLLVMRemarks.a lib/libLLVMBitstreamReader.a  lib/libLLVMMCParser.a  lib/libLLVMMC.a lib/libLLVMDebugInfoCodeView.a  lib/libLLVMTextAPI.a lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMSupport.a -lrt  -ldl  -lm  /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libzstd.so  /usr/lib/x86_64-linux-gnu/libtinfo.so lib/libLLVMDemangle.a && :
ld.lld: error: undefined symbol: main
>>> referenced by /lib/x86_64-linux-gnu/crt1.o:(_start)
collect2: error: ld returned 1 exit status
[72/6814] Linking CXX executable bin/llvm-omp-device-info
FAILED: bin/llvm-omp-device-info 
: && /usr/local/gcc-12/bin/g++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -Wcast-qual -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -Wno-maybe-uninitialized -fno-semantic-interposition -fdata-sections -O3 -DNDEBUG -fuse-ld=lld -Wl,--color-diagnostics    -Wl,--gc-sections  -flto projects/openmp/libomptarget/tools/deviceinfo/CMakeFiles/llvm-omp-device-info.dir/llvm-omp-device-info.cpp.o -o bin/llvm-omp-device-info -Wl,-rpath,"\$ORIGIN/../lib:/home/liam/repos/llvm-project/build/lib:" lib/libomptarget.so.18.1  lib/libomp.so  -lm  lib/libLLVMObject.a lib/libLLVMIRReader.a  lib/libLLVMBitReader.a  lib/libLLVMAsmParser.a lib/libLLVMCore.a  lib/libLLVMRemarks.a  lib/libLLVMBitstreamReader.a lib/libLLVMMCParser.a  lib/libLLVMMC.a  lib/libLLVMDebugInfoCodeView.a lib/libLLVMTextAPI.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a lib/libLLVMSupport.a  -lrt  -ldl  -lm  /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libzstd.so  /usr/lib/x86_64-linux-gnu/libtinfo.so lib/libLLVMDemangle.a && :
ld.lld: error: undefined symbol: main
>>> referenced by /lib/x86_64-linux-gnu/crt1.o:(_start)
collect2: error: ld returned 1 exit status
[99/6814] Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/MveEmitter.cpp.o
ninja: build stopped: subcommand failed.
```

Not sure what other info I could give that would help. Just let me know. Funny how I always seem to have a problem building libOMP...
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWE1z4ywS_jX4QqGyUeKPgw_-Utbvaycpx5nMnlIIWjITBFpAjj2_fgvJTpxknJnZqt29TFVKFt3QNP3xPArMOZlrgCG6HKPLaYtVfmPsUElWEK6kfmqlRuyHc0R7BU4rqYTUObaggDlANOn0ox2uXBD6jXRY6q3hzEujUTxC7SlqH5_d9uGvHvKCPQEmd1ipbYHJuLGNyRW-lvobw2S6WHxZPs6uR-PF7PF2dfPXbLK-Q_EUUZoa5VE85orp_PhLvDHKEdh5y4LMFKVUYImtZ1rjHCmt-QbcEw_OOxSPlUy54uFFieaZonhcKGlRPC6NUvvw67xC8diUoIsSUYrJdLIc_T17HN_PF9PH9T9vZyierpp4HL2-v5s9LubXf89WKJ6qcKxGvh6trmbru8f1TbO8Oc5oZPmme4Hi8Wg5vbq9Dy-rZXh-WaF4_ADpyDko0tqfr_1u48VpeO5u_zG__oriqbcVvNOt1uv5O838-m49Wiwe79fzxd2ZVffX6_lydgh4iNRudwjZbsdS2bxX-llqgSj9YYqb53oDGKw1Fjc1lIP3MuTts-pAl-NuF9Gk2-9coMspXkj9FEps8vUrhh3wyrNUAU6lRjQJFURMUZInsBoUsVAqtm8MJaP5YjZF8ejTufiwazzCiHYR7WJEk8rZsMBwphBNcs5JhyKaNHZyRMeIjjHJbucTTDJtiIOCaS85kdqDLY2ToQswybbSyVQq6fdEaiU1OLKRQoDG5KGODIqngnkgXhbQ2FIygzAiIhTVA1MqzA21jcmDNqTSlQNBSmZZAR4sJg_PVnogzlupc4fJA2fOk39VTDUrCulCk5JMghJEauklU_I7WIdJCaL2vJmpjM7rByYPsiiV5NKTjCnlN9ZU-eZgj-1TIJV-tSQahTZaV-qwK1fMOVJAwTgH5xqhBVHpsCMpzBYaWQnOyUJ-Dy6-SrWBHYfSE78vg0iAAg9hC7KV1ldMEeFNOL2r8hycJ2YL1kpxWM9NUYD2LxFQwAJ8EakFaM-a_Dxwz8TLeVxVlsb6cJpMSJZr47zkjnCjwkZZVmke1hEH9a8L85hnJ-NDuk4TcCaOAXqDkyWzB49Pcvw2Kz-M96dl986rmxiT6fV0Nr6_wiSrHJCAeg06PShEJ6Q5Izk5Ncb4RZnzV2OYZMobfABUh2hyxMdEydQUpWc2B49oUqMyoknTbofOpMlkyZ4gkQrc2Z6MhLTnlbwsI4OJ-bytD77bkvkNopMAVJcTRC9uVvOr-TWiSRQ1Lgc0osnGFFCPWYFoYqE0L-4djhr6P_DUySqKw1s9DgB619RPxPCr_CUgkTNRpx913uoiZzAmqnhr6CYNG76xE8Tz1QqYAPtBMZb-RfNGMXLFLbPuB0smxsIH4QoKZp_ceytj6Z23wIoz2y8nZzZZTt6bmkJa5XOdmYkR8EXC84c1a9j50e38ow-a2X1ibME-BmZdR_iME69ZIcr6EG2hmpifIH29YNfvPnYviJK62pFcV43ie8jRr810XtQJ_aXZXurMhOnvAlQwnauQmyMdHdlSiaj-WhnhA3OMcKUFZFKDwG5fpEYFWcGkPnLarPnDFjKwoDkInO7xZ45x6zuRqau7_-g8sx7RweGzzSgF3NM3HiiBLfjKBh86GHbSY-eZr9wLmffob5O5gK3kQEKAfkLlJzP_EPkfIv9D5P9NIm-are7KczR-0o_vSfxUdY7CT9v5f0zgv0rUZ5j694n6PFP_DlH_jKl_g6h_ztRniPo_Z-pzn09_mPr_wdSDwQlTj4_3PYGqTV3m-AgEze0LTSov6_E6kPgV6PewcLidSVUO-gAHyy3MCuk92AYEms211N9YTe_1TZDzpiyhDqCr0kAATAucMalARJ_cN1wbj11lAT9vmMfGb8DiGkvmmJtKCZzLLWAflM_1eAOqjPBflfNYgccF4CdtniOcVFrv8cY84zlm6pntHXYABfYGb9gWMAuwmSo4uRZTMr1Z3kZR1BLDWAziAWvBsNPrdGm3PWh3W5shsH6W9USvn2VZOuj1aY9f8C70B6zX7gOkLTmkbXrRvqSddtzu027UTmk64Bnv9bJ2zLlAF20omFRRgLXI2LwlnatgOKD9i8uWYikoV1_mUarhGdfKGjenLTusoTCtcocu2ko6716teOkVDDv9aPdZqeLMWHzmv62Qnx-heKuyarjxvnQNSoevLuk3VRpxUxzw-SNM146HAqoP9u8AAAD__wx24PU">