当前位置: 首页 > article >正文

交叉编译 lmbench(riscv64)

交叉编译 lmbench(riscv64)

一、准备编译链

riscv64 交叉工具链,可以从这里直接下载官方编译好的

https://github.com/riscv-collab/riscv-gnu-toolchain/tags

选择对应的版本,我这里是

riscv64-glibc-ubuntu-22.04-gcc-nightly-2024.09.03-nightly.tar.gz

将工具链移动到 /opt/riscv 下(opt 下经常放一些工具)

二、构建安装 libtirpc 库

参考 https://twd2.me/archives/15827

将 libtirpc 安装到对应的 sysroot 下,riscv64-unknown-linux-gnu-gcc 默认的 sysroot 是工具链所在的位置

三、编译 lmbench

报错 rpc/rpc.h 找不到,以及 undefined reference to `pmap_set’ 这样的错误

在 scripts/build 的脚本中修改最后一行

添加 -I/usr/include/tirpc 解决 rpc/rpc.h 头文件找不到的问题

添加 -ltirpc 解决 pmap_set 未定义这样的链接错误

# now go ahead and build everything!
${MAKE} OS="${OS}" CC="${CC}" CFLAGS="${CFLAGS} -I/usr/include/tirpc" LDLIBS="${LDLIBS} -ltirpc" O="${BINDIR}" $*

这样就没有编译错误了

# 默认动态链接
make
# 使用静态链接
make LDFLAGS=--static

http://www.kler.cn/a/371335.html

相关文章:

  • 如何选择适合自己的 Python IDE
  • STM32中的__HAL_RCC_GPIOA_CLK_ENABLE(); 这个为什么和普通的库函数不一样,前面有两个下划线?
  • 嵌入式软件 Bug 排查与调试技巧
  • Flink(一)
  • 坚持使用kimi搭建小程序2小时(04天/05天)
  • 我为什么投身于青少年AI编程?——打造生态圈(三)
  • synchronized进阶原理
  • Python实现全国岗位招聘信息可视化分析(源码+论文+部署讲解)
  • 中国分省统计面板数据(2004-2023)-最新出炉_附下载链接
  • JavaEE初阶------网络编程续+传输层UDP协议介绍
  • Educational Codeforces Round 171 (Rated for Div. 2) A~E
  • 【Linux】动静态库:构建强大软件生态的基石
  • 张量分析与连续介质力学
  • 【vue】07.自定义指令
  • GitHub Copilot将支持来自Anthropic、Google和OpenAI的模型
  • 双指针——对撞指针与左右指针
  • Twitter网页版怎么登录?详细步骤与常见问题解答
  • kotlin的this和it用法
  • ffmpeg视频滤镜:膨胀操作-dilation
  • 算法:常见位运算技巧总结
  • Dirichlet分布生成联邦学生non-iid数据
  • css实现背景色的斑马条效果
  • 如何用李萨如图形测正弦信号的频率?若不使用李萨如图形,如何用示波器测交流信号频率?
  • PHP内存马:不死马
  • 微信小程序如何实现地图轨迹回放?
  • 地球上的中国:世界地图概览