国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

LLVM編譯報錯解決:collect2: fatal error: ld terminated with signal 9 [Killed]

這篇具有很好參考價值的文章主要介紹了LLVM編譯報錯解決:collect2: fatal error: ld terminated with signal 9 [Killed]。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

LLVM 編譯安裝

  1. 克隆代碼到本地
git clone https://github.com/llvm/llvm-project.git
# 需要時間比較長 如果不需要做額外的操作可以只克隆最新的commit
git clone --depth 1 https://github.com/llvm/llvm-project.git
  1. 配置編譯選項
cd llvm-project
cmake -S llvm -B build -G <generator> [options]

generator一般使用Ninja,而 options 中必須要傳入的參數(shù)是構(gòu)建類型CMAKE_BUILD_TYPE

不同的CMAKE_BUILD_TYPE區(qū)別如下:

Build Type Optimization Debug Info Assertion
Release For Speed No No
Debug None Yes Yes
RelWithDebInfo For Speed Yes No
MinSizeRel For Size No No
  1. Release適合LLVM和Clang的用戶,針對運(yùn)行速度進(jìn)行了優(yōu)化,基本沒有任何調(diào)試信息和斷言信息。
  2. Debug適合LLVM的開發(fā)者,輸出的信息最豐富,但沒有進(jìn)行任何方面的優(yōu)化。
  3. RelWithDebInfo適合有部分開發(fā)需求的用戶,該構(gòu)建方式針對速度進(jìn)行了優(yōu)化,且會輸出調(diào)試信息。
  4. MinSizeRel適合空間硬盤空間受限的用戶,該構(gòu)建方式同樣沒有任何調(diào)試信息和斷言信息,但是針對占用空間大小進(jìn)行了優(yōu)化。

綜上所述,一般的構(gòu)建可以通過下面的命令進(jìn)行:

cmake -S llvm -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake --build build

編譯報錯解決

編譯LLVM時報錯:

[3223/3502] Linking CXX executable bin/llvm-c-test
FAILED: bin/llvm-c-test
: && /usr/bin/c++ -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-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -g -Wl,-rpath-link,/home/shanlin/llvm-project/build/./lib tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/attributes.c.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/calc.c.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/debuginfo.c.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/diagnostic.c.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/disassemble.c.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/echo.cpp.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/helpers.c.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/include-all.c.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/main.c.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/module.c.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/metadata.c.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/object.c.o tools/llvm-c-test/CMakeFiles/llvm-c-test.dir/targets.c.o -o bin/llvm-c-test  -Wl,-rpath,"\$ORIGIN/../lib:/usr/local/lib:"  lib/libLLVMAArch64AsmParser.a  lib/libLLVMAMDGPUAsmParser.a  lib/libLLVMARMAsmParser.a  lib/libLLVMAVRAsmParser.a  lib/libLLVMBPFAsmParser.a  li
	.....
lib/libLLVMBitstreamReader.a  lib/libLLVMTextAPI.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMARMDesc.a  lib/libLLVMARMInfo.a  lib/libLLVMARMUtils.a  lib/libLLVMHexagonDesc.a  lib/libLLVMHexagonInfo.a  lib/libLLVMLanaiDesc.a  lib/libLLVMLanaiInfo.a  lib/libLLVMLoongArchDesc.a  lib/libLLVMLoongArchInfo.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVInfo.a  lib/libLLVMSystemZDesc.a  lib/libLLVMSystemZInfo.a  lib/libLLVMWebAssemblyDesc.a  lib/libLLVMWebAssemblyInfo.a  lib/libLLVMMCDisassembler.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMMC.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMSupport.a  lib/libLLVMDemangle.a  -lrt  -ldl  -lpthread  -lm  /usr/local/lib/libz.so  /usr/lib/x86_64-linux-gnu/libtinfo.so && :
collect2: fatal error: ld terminated with signal 9 [Killed]
compilation terminated.

查了一下網(wǎng)上給出的解決方法和原因,

這種情況很可能是OOM了,因為默認(rèn)情況下所有的可執(zhí)行文件都是靜態(tài)鏈接的,所以會需要很多RAM

解決方法如下:

  1. 減少鏈接時的并行,通過添加-DLLVM_PARALLEL_LINK_JOBS=1編譯選項來控制鏈接的并行。
  2. 通過-Wl, no-keep-memory-Wl,--reduce-memory-overheads兩個或其中一個加入CMAKE_EXE_LINKER_FLAGS來減少內(nèi)存的消耗。
  3. 更換鏈接器,通過添加-fuse-ld=gold或者-fuse-ld=lldCMAKE_EXE_LINKER_FLAGS來更換鏈接器。

嘗試了方法1,直接解決了:

cmake -S llvm -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DLLVM_PARALLEL_LINK_JOBS=1
cmake --build build

cmake 參數(shù):文章來源地址http://www.zghlxwxcb.cn/news/detail-672193.html

  • -S : path to the source
  • -B : path to the build
  • –build : build a CMake-generate project binary tree.

到了這里,關(guān)于LLVM編譯報錯解決:collect2: fatal error: ld terminated with signal 9 [Killed]的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 徹底解決cmake編譯過程中fatal error: OpenNI.h: 沒有那個文件或目錄

    徹底解決cmake編譯過程中fatal error: OpenNI.h: 沒有那個文件或目錄

    環(huán)境:ubuntu20.04 在cmake編譯過程中,最常見的莫過于fatal error: xxxx.h: 沒有那個文件或目錄,這個問題困擾著很多初學(xué)者,原因是沒有找到某個頭文件,小白版的解決方法,直接把這個頭文件的地址寫進(jìn).cpp源文件或者把頭文件地址寫進(jìn) CMakeLists.txt INCLUDE_DIRECTORIES(頭文件地址)。 用

    2024年02月16日
    瀏覽(42)
  • python報錯解決:Fatal error in launcher: Unable to create process using

    python報錯解決:Fatal error in launcher: Unable to create process using

    安裝庫的時候用pip突然報錯 很奇怪為什么pip安裝不了,想一想,好像是我昨晚把其中一個python版本的包的文件夾給刪掉了,就報錯找不到pip.exe ,但是這里我有了3.11版本的了,完全不影響使用,簡單記錄一下解決方法 查找pip.exe所在的位置 我這里有兩個,上面的那個是刪掉的

    2024年02月05日
    瀏覽(34)
  • k8s入坑之報錯(3)解決error execution phase preflight: [preflight] Some fatal errors occurred...

    參考鏈接:K8S部署遇到的問題處理匯總node節(jié)點(diǎn)加入k8s集群失敗kubeadm join 運(yùn)行出錯:FileAvailable--etc-kubernetes-pki-ca.crt,FileAvailable--etc-kubernetes-bootstrap-k 報錯查詢 error execution phase preflight: [preflight] Some fatal errors occurred [ERROR FileAvailable--etc-kubernetes-kubelet.conf]: /etc/kubernetes/kubelet.conf alr

    2024年02月11日
    瀏覽(29)
  • 編譯 FastDFS 時報錯 fatal error: sf/sf_global.h: No such file or directory 解決辦法

    編譯 FastDFS 時報錯 fatal error: sf/sf_global.h: No such file or directory 解決辦法

    編譯 FastDFS 時,報錯如下 原因: 需要先編譯和安裝 libserverframe,新引入的網(wǎng)絡(luò)框架庫,下載地址:https://github.com/happyfish100 編譯安裝完后即可正常編譯安裝 FastDFS

    2024年02月21日
    瀏覽(42)
  • 報錯解決:RuntimeError: Error compiling objects for extension和nvcc fatal: Unsupported gpu architecture

    博主的軟硬件環(huán)境(供參考): Linux NVIDIA GeForce RTX 3090 CUDA Driver version 515.76 CUDA 10.2 gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 Pytorch 1.10.0+cu102 博主在配置mmdetection3d環(huán)境時,運(yùn)行 pip install -v -e . 會有如下報錯: 可能的原因和解決方法如下: 查看GPU的型號: 首先查看cuda版本 輸出如下,

    2024年02月13日
    瀏覽(18)
  • 報錯Intel MKL FATAL ERROR: Cannot load libmkl_core.so.的一種解決方法

    報錯Intel MKL FATAL ERROR: Cannot load libmkl_core.so.的一種解決方法

    今天上80服務(wù)器跑mdistiller的代碼時,意外發(fā)現(xiàn)torch、numpy都不能用了T_T 以torch為例,出現(xiàn)如下報錯情況 以numpy為例,出現(xiàn)如下報錯情況 我們先看看報錯信息,這個報錯來自Inter MKL。Inter MKL全稱是The Intel Math Kernel Library,它是一個主要是用于科學(xué)計算的共享庫,提供了很多與數(shù)學(xué)

    2024年02月08日
    瀏覽(21)
  • Microsoft Visual C++ 14.0 is required
【解決報錯】:LINK : fatal error LNK1158: 無法運(yùn)行“rc.exe”

    Microsoft Visual C++ 14.0 is required 【解決報錯】:LINK : fatal error LNK1158: 無法運(yùn)行“rc.exe”

    問題:pycharm安裝某個庫,或者把.py編譯成.c時,報Microsoft Visual C++ 14.0 is required 解決: 1.下載?Microsoft C++ 生成工具 - Visual Studio 2.安裝完成后,打開Visual Studio生成工具,切換到 單個組件 ,搜索 vc,如圖: 勾選MSVC v140 -VS?2015 C++ 生成工具 再次搜索?Windows 10 SDK,如圖:勾選Wi

    2024年02月15日
    瀏覽(22)
  • Git報錯fatal unable to connect to github.com: github.com[0: 20.205.243.166]: errno=unknown error的解決方法

    今天創(chuàng)建了新的GitHub項目,進(jìn)行g(shù)it clone時報錯 fatal: unable to connect to github.com: github.com[0: 20.205.243.166]: errno=unknown error 經(jīng)查,這個問題是由于Git 協(xié)議通常使用端口 9418,但是有些網(wǎng)絡(luò)環(huán)境可能會限制對此端口的訪問,或者直接阻止使用 Git 協(xié)議。因此,我們需要將git://github.com/替

    2024年02月08日
    瀏覽(25)
  • glibc編譯時報錯:configure: error:*** LD_LIBRARY_PATH shouldn‘t contain the current directory when ***

    glibc編譯時報錯:configure: error:*** LD_LIBRARY_PATH shouldn‘t contain the current directory when ***

    在編譯glibc時,進(jìn)到glibc源碼里: cd glibc-source mkdir build cd build 開始配置,執(zhí)行了如下命令: ../configure --prefix=/opt/glibc 然后報如下錯誤: “configure: WARNING: *** These auxiliary programs are missing or incompatible versions: makeinfo *** some features or tests will be disabled. *** Check the INSTALL file for requir

    2024年02月11日
    瀏覽(44)
  • 解決docker運(yùn)行redis報錯:Fatal error, can‘t open config file /etc/redis/redis.conf以及啟動redis后自動退出容器

    解決docker運(yùn)行redis報錯:Fatal error, can‘t open config file /etc/redis/redis.conf以及啟動redis后自動退出容器

    現(xiàn)象如下: ?看了報錯是權(quán)限問題,然后發(fā)現(xiàn)redis1.conf的權(quán)限果然不大對, 所以運(yùn)行 chmod o+r 添加權(quán)限 但是啟動后容器自動退出: 然后把redis-server改成絕對路徑/usr/local/bin/redis-server ?此時就能發(fā)現(xiàn)報錯真正的原因:是原始redis.conf配置文件內(nèi)容的問題,而不是文件本身掛載的

    2024年02月04日
    瀏覽(46)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包