🛠️ 如何在 Ubuntu 上部署 VRTE 3.5 的 AraCM_IPC 应用程序

在将 VRTE 3.5 的 AraCM_IPC 应用部署到 Ubuntu 系统时,可能会遇到运行失败的问题,提示类似:

bash: ./rb_exmd: No such file or directory

这通常并非文件不存在,而是因为系统无法找到程序运行所依赖的动态链接器(dynamic linker)或共享库。以下是完整的排查与解决方案。


🔍 问题一:找不到动态链接器 ld-linux-x86-64.so.2

❌ 现象

运行 ./rb_exmd 时提示 No such file or directory,但文件实际存在。

使用 ldd 检查依赖时发现:

ldd rb_exmd

输出可能提示缺少动态链接器,或无法解析 ELF 解释器路径。

📌 原因分析

rb_exmd 是一个为特定环境编译的可执行文件,其 ELF 头部指定的动态链接器路径为:

/lib64/ld-linux-x86-64.so.2

而 Ubuntu 系统中,该链接器实际位于:

/lib/x86_64-linux-gnu/ld-2.31.so

并通过软链接在 /lib64 中提供兼容支持。

虽然 /lib64/ld-linux-x86-64.so.2 存在,但某些情况下程序仍会尝试从 /lib 目录查找该链接器(尤其在多架构或兼容性场景下),而默认的 /lib 目录下没有对应的软链接

✅ 解决方案:在 /lib 创建软链接

在 Ubuntu 的 /lib 目录中创建指向实际链接器的软链接:

sudo ln -s /lib/x86_64-linux-gnu/ld-2.31.so /lib/ld-linux-x86-64.so.2

验证是否成功:

ls -l /lib/ld-linux-x86-64.so.2

应显示:

lrwxrwxrwx 1 root root 32 ... /lib/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.31.so

✅ 提示:即使 /lib64 已存在该链接,部分程序仍可能优先或回退查找 /lib,因此建议同时确保两个路径都可用。


🔍 问题二:缺少运行时依赖库

❌ 现象

即使解决了链接器问题,运行时仍可能报错:

error while loading shared libraries: libxxx.so: cannot open shared object file: No such file or directory
✅ 解决方案:部署依赖库

已将 AraCM_IPC 所需的全部依赖库打包(见附件),请按以下步骤操作:

  1. 将附件中的库文件解压并复制到 VRTE 的库目录:

  • cp -r <解压路径>/*.so* /opt/vrte/lib/
  • 更新系统动态库缓存(可选,推荐):

  • sudo ldconfig
  • 确保 /opt/vrte/lib 已加入库搜索路径:

    • 方法一:将 /opt/vrte/lib 添加到 /etc/ld.so.conf 并运行 sudo ldconfig
    • 方法二:运行前设置环境变量:
export LD_LIBRARY_PATH=/opt/vrte/lib:$LD_LIBRARY_PATH

▶️ 启动应用

完成上述配置后,即可启动服务:

sudo ./exmd.sh

该脚本将启动 rb_exmd 守护进程并初始化 VRTE 运行环境。


✅ 总结:完整部署步骤

# 1. 创建动态链接器软链接
sudo ln -s /lib/x86_64-linux-gnu/ld-2.31.so /lib/ld-linux-x86-64.so.2# 2. 部署依赖库
cp *.so* /opt/vrte/lib/# 3. 更新库缓存(推荐)
sudo ldconfig# 4. 启动服务
sudo ./exmd.sh

⚠️ 注意事项

  • 确保目标 Ubuntu 系统为 x86_64 架构,与 VRTE 3.5 编译环境匹配。
  • 若使用非标准路径,请确保 LD_LIBRARY_PATHldconfig 配置正确。
  • 建议以 sudo 运行,避免权限不足导致通信资源(如共享内存、Socket)创建失败。

通过以上步骤,AraCM_IPC 应用即可在 Ubuntu 系统上正常运行。如有其他依赖问题,可通过 ldd rb_exmd 进一步排查缺失的 .so 文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94785.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94785.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/94785.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WD5202 非隔离降压转换芯片,220V降5V,输出电流80MA

解锁高效电源新境界&#xff1a;WD5202 非隔离降压转换芯片在当今电子设备飞速发展的时代&#xff0c;高效、稳定且低成本的电源解决方案至关重要。WD5202 作为一款卓越的非隔离降压转换芯片&#xff0c;正以其独特的性能和广泛的适用性&#xff0c;在众多领域崭露头角&#xf…

库函数版独立按键用位运算方式实现(STC8)

位运算&#xff1a;更加简便&#xff0c;单片机的内存就小&#xff0c;占的内存空间小一点案例&#xff1a; #include "GPIO.h" #include "Delay.h" #include "UART.h" // 串口配置 UART_Configuration #include "NVIC.h" // 中断…

RA4M2_MINI开发(15)----配置RTC时钟及显示时间

RA4M2_MINI开发.15--配置RTC时钟及显示时间 概述视频教学样品申请硬件准备参考程序源码下载新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置SWD调试口设置UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函数原型回调函数user_ua…

使用Prometheus + Grafana + node_exporter实现Linux服务器性能监控

监控与告警系统部署&#xff1a;项目示例: "使用Prometheus Grafana node_exporter实现Linux服务器性能监控"描述: 在目标服务器部署node_exporter采集系统指标(CPU, 内存, 磁盘, 网络)。部署配置Prometheus Server&#xff0c;抓取node_exporter数据。部署配置Gra…

IP防护等级及检验方法说明

IP防护等级说明&#xff1a; IP (Ingress Protection) 防护等级系统是由 IEC 60529 标准定义的&#xff0c;用于衡量电气设备外壳对固体异物和液体进入的防护能力。IP代码通常由两位数字组成&#xff1a;第一位数字表示防固体异物等级(0-6)&#xff0c;第二位数字表示防水等级(…

最近看到的提示词相关内容汇总

看看能不能总结出来一些提示词最佳实践 一定要动手实践。 目前已经知道的提示词好习惯 角色扮演 操作步骤 质量要求 结构化输出 案例 Anthropic 视频中提到,实际上作为一门科学,我们可以通过以下手段尝试它。 最初的提示词,不断的尝试,直到最终的提示词。 优质提示词结…

github代理

自己整理的github代理 代理网址 https://g.cachecdn.ggff.net/ https://gitcode.com/ https://git.mxg.pub/ https://xiake.pro/ https://github.akams.cn/ 手动更新 hosts 方法 适合临时使用&#xff0c;Github 的ip经常变 Linux / MacOS hosts 路径&#xff1a;/etc/host…

交换机100G模块远距离连接踩坑记录

一、业务需求场景 两个办公场地之间相距较远,大约有几百米。网络系统规划两个办公场地的局域网之间通过100G 网络连接,几百米的距离使用多模光纤是不能满足需求的,因此选择使用单模光纤连接,交换机的模块选择使用华为QSFP28-100G-PSM4 模块,这个模块使用的是MPO接口。 两个…

精通Python异步编程:深入理解Async/Await在LLM应用中的实践

简介 在现代高性能应用开发中,特别是在处理大型语言模型(LLM)时,高效处理I/O密集型操作至关重要。Python的async和await关键字通过异步编程提供了优雅的解决方案。本综合指南将探讨如何利用这些特性构建响应迅速、高效的LLM驱动应用。 目录 理解同步与异步执行 Async/Await…

嵌入式第二十三课 !!!树结构与排序(时间复杂度)

二叉树树概念 树是 n(n > 0) 个结点的有限集合。若 n0 &#xff0c;为空树。在任意一个非空树中&#xff1a; &#xff08;1&#xff09;有且仅有一个特定的根结点&#xff1b;&#xff08;2&#xff09;当 n>1 时&#xff0c;其余结点可分为 m 个互不相交的有…

【MySQL】初识索引

目录索引是什么优点和缺点B树和B树红黑树和哈希表存储数据的局限B树B树MySQL中的页页是什么为什么要使用页页的结构三层树高的B树可以存放多少条记录索引的分类主键索引普通索引唯⼀索引全⽂索引聚集索引和非聚集索引(重要)索引覆盖创建索引自动创建手动创建创建复合索引查看索…

重生之我在暑假学习微服务第九天《后端拆分部分完结篇》

个人主页&#xff1a;VON文章所属专栏&#xff1a;微服务 微服务系列文章 重生之我在暑假学习微服务第一天《MybatisPlus-上篇》重生之我在暑假学习微服务第二天《MybatisPlus-下篇》重生之我在暑假学习微服务第三天《Docker-上篇》重生之我在暑假学习微服务第四天《Docker-下篇…

如何实现一个简单的基于Spring Boot的用户权限管理系统?

全文目录&#xff1a;开篇语前言系统设计概述步骤一&#xff1a;创建Spring Boot项目步骤二&#xff1a;配置数据库步骤三&#xff1a;定义实体类1. 用户实体类 User2. 角色实体类 Role3. 权限实体类 Permission步骤四&#xff1a;创建JPA Repository步骤五&#xff1a;配置Spr…

机器学习及其KNN算法

一、机器学习概述机器学习&#xff08;Machine Learning, ML&#xff09;是人工智能的核心分支&#xff0c;旨在通过算法让计算机从数据中自动学习规律并优化性能&#xff0c;而无需显式编程。这一技术领域起源于20世纪50年代&#xff0c;随着计算能力的提升和大数据时代的到来…

Kaggle 经典竞赛泰坦尼克号:超级无敌爆炸详细基础逐行讲解Pytorch实现代码,看完保证你也会!!!

讲解代码分为3个步骤&#xff1a;有什么用&#xff0c;为什么需要他&#xff0c;如何使用保证大家耐心看完一定大有裨益&#xff01;如果有懂的可以跳过&#xff0c;不过建议可以看完&#xff0c;查漏补缺嘛。现在开始吧&#xff01;项目目标我们的目标是根据泰坦尼克号乘客的个…

双目标定中旋转矩阵参数应用及旋转角度计算(聚焦坐标系平行)

一、引言 在双目视觉系统开发中&#xff0c;若需实现右相机坐标系与左相机坐标系平行&#xff0c;核心在于通过双目标定获取的旋转矩阵RRR&#xff0c;消除两相机间的相对旋转。本报告聚焦旋转矩阵的物理意义与工程应用&#xff0c;详细说明如何通过旋转矩阵计算相对旋转角度&a…

GraphRAG 入门教程:从原理到实战

GraphRAG 入门教程&#xff1a;从原理到实战 1. 什么是 GraphRAG&#xff1f; GraphRAG 是一种结构化的、分层的检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;简称 RAG&#xff09;方法 和传统的 RAG 不同&#xff0c;GraphRAG 不仅仅依赖文本相似度搜索…

系统集成项目管理工程师【第十一章 规划过程组】规划成本管理、成本估算、制定预算和规划质量管理篇

系统集成项目管理工程师【第十一章 规划过程组】规划成本管理、成本估算、制定预算和规划质量管理篇 一、规划成本管理&#xff1a;为成本管控定方向 规划成本管理是项目成本管理的起点&#xff0c;其核心是明确“如何管”的规则&#xff0c;为整个项目的成本管理提供统一框架。…

Xiphos Q8 SDR DOCK子板 AD9361 宽带收发器的 SDR 模块。

Q8 混合处理器卡的子板&#xff0c;包含基于 ADI 公司流行的 AD9361 宽带收发器的 SDR 模块。与基于 AD9361 的 SDR 模块接口PPS、CAN总线、串行、UART&#xff08;LVDS&#xff09;、USB接口电源接口&#xff08;5V、12V&#xff09; Q8 处理器卡的子板&#xff0c;集成了基于…

DPU(数据处理单元)架构中,SoC(系统级芯片)与FPGA(现场可编程门阵列)之间的数据交互

在DPU&#xff08;数据处理单元&#xff09;架构中&#xff0c;SoC&#xff08;系统级芯片&#xff09;与FPGA&#xff08;现场可编程门阵列&#xff09;之间的数据交互是实现高效异构计算的关键。根据通信目标和硬件特性&#xff0c;其交互数据类型可分为以下四类&#xff1a;…