Ubuntu20.04安装llvm+clang和bcc流程

本文详细描述了如何在毕设中配置eBPF环境,包括更换阿里源、安装LLVM和clang版本17,以及安装BCC工具的过程,涉及apt-get更新、源代码管理、环境变量设置等内容。
摘要由CSDN通过智能技术生成

由于毕设涉及eBPF相关,故自存一个环境配置流程以便参考。

1. 换源

本人偷懒直接使用之前某课程的虚拟机配置,首先将它换成阿里源(或者其他国内源)以便后续使用。

阿里源地址参考:阿里源,选择相应的版本,复制url。

deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

# deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

阿里源

打开虚拟机终端输入sudo vim /etc/apt/sources.list,打开源文件将复制的url替换进去,:wq!保存退出,输入sudo apt-get update&&sudo apt-get upgrade刷新源。

若出现如下报错(该报错是某次换清华源时的报错):
报错信息
因为默认的源是 http 的,但是准备使用的镜像源是 https 的,所以需要额外的安装有关 https 的包。安装:sudo apt install apt-transport-https&&sudo apt install ca-certificates这两个包,再进行刷新源操作即可。

2. 安装llvm和clang

参考链接:LLVM Debian/Ubuntu nightly packages

在链接中找到虚拟机系统所对应的代码,即Ubuntu Focal (20.04) LTS,将对应代码加入源码文件(sources.list)中。
此处有两种llvm版本选择,我选择17,同时可以注释镜像src加快apt update速度

#Focal (20.04) LTS - Last update : Mon, 05 Feb 2024 15:31:07 UTC / Revision: 20240204053155+114a33be4751
deb http://apt.llvm.org/focal/ llvm-toolchain-focal main
#deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main
# 17
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-17 main
#deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-17 main

向下找到 Install (stable branch) 部分(与需要下载的llvm17对应)

sudo wget --no-check-certificate -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -

此处我与参考链接命令不同的原因:直接运行参考命令会报错,可酌情使用。
更新软件源sudo apt update&&sudo apt upgrade

To install just clang, lld and lldb (17 release):

sudo apt-get install clang-17 lldb-17 lld-17

To install all key packages: (按需安装)

# LLVM
sudo apt-get install libllvm-17-ocaml-dev libllvm17 llvm-17 llvm-17-dev llvm-17-doc llvm-17-examples llvm-17-runtime
# Clang and co
sudo apt-get install clang-17 clang-tools-17 clang-17-doc libclang-common-17-dev libclang-17-dev libclang1-17 clang-format-17 python3-clang-17 clangd-17 clang-tidy-17

配置环境变量cd ~&&sudo vim .bashrc,将下面两行加到文件中

export PATH=$PATH:/usr/lib/llvm-17/bin
export LD_LIBRARY=/usr/lib/llvm-17/lib

保存文件并退出,source .bashrc使环境变量立即生效。
最后可通过llvm-as --version&&clang -v检查安装是否成功。在这里插入图片描述

3. 安装BCC

参考链接:Ubuntu安装BCC&&官方文档

安装依赖

# For Eoan (19.10) or Focal (20.04.1 LTS)
sudo apt install -y bison build-essential cmake flex git libedit-dev \
  libllvm17 llvm-17-dev libclang-17-dev python zlib1g-dev libelf-dev libfl-dev

从Github上下载源码进行安装

sudo git clone https://github.com/iovisor/bcc.git
sudo mkdir bcc/build; cd bcc/build
cmake .. #若出现报错(有些模块未安装)则自行补充安装
make
sudo make install
cmake -DPYTHON_CMD=python3 .. # build python3 binding
pushd src/python/
make
sudo make install
popd

#记录一下执行make时某一个报错的解决方法

检查一下python的版本要与当前版本一致

ls -l `which python`
# lrwxrwxrwx 1 root root 7 4月  15  2020 /usr/bin/python -> python2
sudo rm  /usr/bin/python
sudo ln -s /usr/bin/python3.8 /usr/bin/py

工具测试
工具测试

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ubuntu 20.04安装Notepad需要使用Snap程序包管理器。根据引用和的信息,您可以通过在终端中输入以下命令来安装Notepad: sudo snap install notepad-plus-plus 这将下载并安装Notepad及其所有依赖项。请注意,您需要具有管理员权限才能运行此命令。安装完成后,您可以在应用程序菜单中找到Notepad并开始使用它。 请记住,Notepad是Windows和Mac OS系统上的一个简单但功能强大的代码编辑器,而Ubuntu上的Notepad-plus-plus是为类Unix操作系统提供的兼容版本。如果您对Notepad-plus-plus在Linux上的功能有任何疑问,您可以参考引用中提到的另一个名为Notepadqq的替代编辑器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Ubuntu 安装 notepad++ 以及 解决中文字体乱码显示 以及 字体倒了的问题](https://blog.csdn.net/jisuanji198509/article/details/118706780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [如何在Ubuntu 20.04安装NotePad++](https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/117193524)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值