【linux】Ubuntu aarch64编译安装RXTX进行串口通信

news2025/1/18 21:19:20

目录

  • 1.下载RXTX
  • 2.源码下载
    • 方式一:
    • 方式二:
  • 3. 编译源码
  • 4.编译源码时遇到的问题
    • 问题1:./configure command not found
    • 问题2:error: 'UTS_RELEASE' undeclared
    • 问题3:libtool: install: armv6l-unknown-linux-gnu/librxtxRS485.la’ is not a directory
    • 问题4:configure: error: no acceptable C compiler found in $PATH
    • 问题5:-bash: make: command not found
    • 问题6:编译程序报错fatal error: sys/io.h: No such file or directory

在这里插入图片描述

本文是基于linux aarch64/arm64进行的操作。
linux下安装java环境可参考:https://blog.csdn.net/qq_43622777/article/details/130059775

1.下载RXTX

下载官网:http://fizzed.com/oss/rxtx-for-java
在这里插入图片描述

找到与系统版本一致的文件进行下载。
查看系统版本:uname -a

在这里插入图片描述
官网没有arrch64(等同于arm64)版的已编译好的包,所以进行以下步骤,自行安装源码编译。

2.源码下载

方式一:

从下载路径:http://rxtx.qbang.org/pub/rxtx/下载解压后复制到linux;

方式二:

执行以下命令直接在linux内下载。

wget http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7r2.zip

3. 编译源码

依次执行以下语句:


unzip rxtx-2.1-7r2.zip
# 进入到rxtx-2.1-7r2目录下
./configure

# 如果报错:configure: error: cannot guess build type; you must specify one,则用下面命令运行
./configure --build=arm-linux

make

4.编译源码时遇到的问题

参考文章:https://blog.csdn.net/cheng157507947/article/details/44039821

问题1:./configure command not found

这是由于没有安装gcc的交叉编译环境导致的报错,只需安装gcc编译即可。

问题2:error: ‘UTS_RELEASE’ undeclared

这是由于version.h中缺少’UTS_RELEASE’信息,需要手工添加。先获取当前系统的版本信息:uname -r

然后在/usr/include/linux/version.h中添加#define UTS_RELEASE "4.9.112"
上述4.9.112是上一步中获得的linux版本号。

命令如下:

uname -r
cd /usr/include/linux/
vim version.h

操作如下:

在这里插入图片描述

在这里插入图片描述
单击inert键开始编辑模式,单击esc键退出编辑模式,shift+:wq保存并退出。

问题3:libtool: install: armv6l-unknown-linux-gnu/librxtxRS485.la’ is not a directory

这个错误会出现在JDK1.6及以上的运行环境下,需要对configureconfigure.in文件进行修改。
在configure文件中找到

Linux)
    LDFLAGS=$LDFLAGS" -lpthread"
    check_kernel_headers
    check_java_headers
    CFLAGS=$CFLAGS" -D__need_timespec"
    case $JAVA_VERSION in

    1.2*|1.3*|1.4*|1.5*)

在后边添加上当前JDK的版本号即可,如

Linux)
    LDFLAGS=$LDFLAGS" -lpthread"
    check_kernel_headers
    check_java_headers
    CFLAGS=$CFLAGS" -D__need_timespec"
    case $JAVA_VERSION in

1.2*|1.3*|1.4*|1.5*|1.6*|1.7*|1.8*)

完成以上两项修改后,就可以正常编译安装了。如果看到 Libraries have been installed in:/usr/lib/jvm/jdk-7-oracle-armhf/jre/lib/arm 则说明RXTX安装已经成功。

参考文章:https://blog.csdn.net/luzhiweistudy/article/details/79915741

问题4:configure: error: no acceptable C compiler found in $PATH

解决方案:安装GCC软件套件。
方法1:yum install gcc
方法2:apt-get install gcc
中途遇到Y/N的选项时,选择Y即可。

具体可参考文章:https://blog.csdn.net/caihuawei123/article/details/119778893

问题5:-bash: make: command not found

一般出现这个-bash: make: command not found提示,是因为安装系统的时候使用的是最小化mini安装,系统没有安装make、vim等常用命令,直接sudo apt-get install安装下即可。

sudo apt-get update
sudo apt-get install  gcc automake autoconf libtool make

直接ssh运行即可,安装make。

问题6:编译程序报错fatal error: sys/io.h: No such file or directory

原因是不同的Linux平台的 io.h 放置的位置不同。Windows下的io.h直接包含即可;
Linux平台下在sys文件夹下;ARM架构的系统中在sys文件夹下,而且名字也不一样,变成了uio.h。
解决方案: 将/src/RawImp.c中的 #include <sys/io.h> 改为 #include <sys/uio.h>

在这里插入图片描述

#ifdef WIN32
#include <io.h>
#elif defined(__ARM__)
#include <sys/uio.h>
#else
#include <sys/io.h>
#endif

参考文章:https://blog.csdn.net/qq_42679415/article/details/126470064

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Manjaro安装及配置

官方镜像 官方镜像地址&#xff1a;https://manjaro.org/download/ 镜像选择 镜像选择&#xff1a;PLASMA、XFCE、GNOME 按电脑性能&#xff1a;PLASMA>GNOME>XFCE(老旧电脑可以运行) 启动U盘刻录 推荐使用rufus&#xff08;win10平台&#xff0c;dd模式&#xff09…

C++ [图论算法详解] 欧拉路欧拉回路

蒟蒻还在上课&#xff0c;所以文章更新的实在慢了点 那今天就来写一篇这周刚学的欧拉路和欧拉回路吧 讲故事环节&#xff1a; 在 一个风雪交加的夜晚 18世纪初普鲁士的哥尼斯堡&#xff0c;有一条河穿过&#xff0c;河上有两个小岛&#xff0c;有七座桥把两个岛与河岸联系…

万字长文:C语言实践小练习汇总指南!

万字长文&#xff1a;C语言实践小练习汇总指南!0.说在前面1.i与i总结1.1 i与i1.2 区别总结&#xff1a;2.大小写转化3.交换字符串3.1 使用传字符串地址3.2 使用strcpy函数3.3 自写字符串交换函数3.4 同3.3自写函数4.字符串中单词4.1 统计字符串中单词个数4.2 最长单词及位置5.字…

注册页面小案例

运行截图&#xff1a; 知识点&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name&…

SwinTrack: A Simple and Strong Baseline for Transformer Tracking(NIPS2022)

SwinTrack摘要介绍相关工作方法实验摘要 近期&#xff0c;Transformer在视觉跟踪方面进行了深入探索&#xff0c;并展示了显著的潜力。然而&#xff0c;现有的基于Transformer的跟踪器主要将Transformer用于融合和增强由卷积神经网络提取的特征&#xff0c;Transformer在表征学…

另一种迁移xxl-job任务的方法,适合不满足数据迁移条件

以为多个项目组同时使用一个xxl-job&#xff0c;同时涉及到版本提升&#xff0c;由此不太满足数据库数据迁移&#xff0c;所以这里提供另一种解决办法 使用工具&#xff1a;postman,json转excel&#xff0c;excel 核心&#xff1a;excel拼接&#xff1a; 1.使用f12抓取xxl任务访…

什么是 SMART 并如何使用这个方法取得新的成就

SMART原则也许大家并不陌生&#xff0c;很多企业常常采用以激励员工更加高效的工作&#xff0c;或是被一些企业广泛采用&#xff0c;制定并实施绩效考核方案&#xff0c;SMART原则属于目标管理的范畴&#xff0c;最早是管理大师彼得德鲁克在著作中提出的。 ONLYOFFICE ONLYOFFI…

Nginx快速上手

Nginx快速上手 OVERVIEWNginx快速上手一、基本概念1.Nginx初步认识2.正向/反向代理&#xff08;1&#xff09;正向代理&#xff08;2&#xff09;反向代理二、Nginx 安装和配置1.安装2.Nginx指令3.Nginx配置三、Nginx的使用1.Web服务器&#xff08;1&#xff09;静态网页存储目…

Java对日开发成趋势?网友:找工作打开了新思路

近两年行业环境起起伏伏&#xff0c;企业降本增效&#xff0c;提高人才招聘的门槛&#xff0c;导致大家找工作时觉得越来越难&#xff0c;尤其是Java开发&#xff0c;主打的就是一个“卷”&#xff01; 不过行业变革&#xff0c;挑战与机遇并存。Java作为编程语言排行榜的常年第…

Java8 判空新写法(Optional方式)

1 引言 在文章的开头&#xff0c;先说下NPE问题&#xff0c;NPE问题就是&#xff0c;我们在开发中经常碰到的NullPointerException.假设我们有两个类&#xff0c;他们的UML类图如下图所示 在这种情况下&#xff0c;有如下代码 user.getAddress().getProvince();这种写法&…

计算机网络 实验四

⭐计网实验专栏&#xff0c;欢迎订阅与关注&#xff01; ★观前提示&#xff1a;本篇内容为计算机网络实验。内容可能会不符合每个人实验的要求&#xff0c;因此以下内容建议仅做思路参考。 一、实验目的 理解ARP协议的工作原理掌握ARP、ICMP 处理过程 二、实验内容 利用网络…

BearPi环境搭建及基本使用

这是一篇总结&#xff0c;一些坑的记录 具体教程请访问&#xff1a; BearPi-HM_Nano: 小熊派BearPi-HM Nano开发板基于HarmonyOS的源码 - Gitee.com 第一步&#xff1a;安装虚拟机 不做赘述 第二步&#xff1a;下载资源 这里要用到ubuntu的一些基础知识&#xff0c;不会的…

HTTP Flood攻击与防御原理

一.引言HTTP Flood攻击DDoS的一种,别称叫做CC攻击(CC是Challenge Collapsar的缩写&#xff0c;而Collapsar是国内一家著名安全公司的DDoS防御设备)&#xff0c;是针对Web服务在第七层协议发起的攻击&#xff0c;重点在于突破前端的cache,通过HTTP头中的字段设置直接到达Web Ser…

精通线程池,看这一篇就够了

一&#xff1a;什么是线程池 当我们运用多线程技术处理任务时&#xff0c;需要不断通过new的方式创建线程,这样频繁创建和销毁线程&#xff0c;会造成cpu消耗过多。那么有没有什么办法避免频繁创建线程呢&#xff1f; 当然有&#xff0c;和我们以前学习过多连接池技术类似&…

安全头响应头(一)Content-Security-Policy

一 Content Security Policy CSP 中文翻译 ① 背景引入 "重点提炼" 1) CSP最初被设计用来减少XSS跨站点脚本攻击,该规范后续版本还可防止其他如点击劫持形式的攻击2) CSP 的实质就是白名单制度[1]、网站开发者明确告诉客户端,哪些外部资源可以加载和执行,等同…

STM32H750ZBT6核心板设计

成品图 注意事项 1、主频无法设置480Mhz,只能最高设置为400Mhz 设置版本号为V版本&#xff0c;即稳定版本即可以设置主频为480Mhz了&#xff0c;不清楚自己的STM32H750是什么版本&#xff0c;可以查看芯片上丝印&#xff0c;ST公司LOGO旁边有个Y/V&#xff0c;即是版本号。 2…

零碎Java

1. 1995年Sun公司开发了java 2009年Oracle收购了Sun公司 其中2004年的java5.0和2014年的java8.0更新力度最大 java特性&#xff1a;第一至今已有20多年了 第二编程语言 第三应用广泛 2. 二进制中逢二进一 11 10 111100 0000万 0000&#xff0c;0000亿 …

RK3568平台开发系列讲解(设备驱动篇)V4L2程序实现流程

🚀返回专栏总目录 文章目录 一、V4L2 进行视频采集二、命令标识符三、V4L2程序实例3.1、打开设备3.2、查询设备属性3.3、显示所有支持的格式3.4、设置图像帧格式3.5、申请缓冲区3.6、将申请的缓冲帧从内核空间映射到用户空间3.7、将申请的缓冲帧放入队列,并启动数据流3.8、启…

配置mpls vpn MCE组网

实验三&#xff1a;配置mpls vpn MCE组网 1、实验环境&#xff1a; 某公司需要通过mpls vpn实现总部和分部的互访&#xff0c;并且要实现不同部门之间的业务隔离&#xff0c;为了节省开支&#xff0c;总公司使用MCE设备接入不同的部门。要求分公司A只能访问总公司的部门A&…

分子生物学 第二章 遗传物质

文章目录第二章 遗传物质第一节 遗传物质的分子本质大多数生物体的遗传物质是DNA有些生物体的遗传物质是RNA蛋白质能否充当遗传物质第二节 核酸的结构1 DNA双螺旋结构的特征2 影响DNA双螺旋结构稳定性的因素3 DNA结构的多态性4 DNA多链结构5 DNA的超螺旋结构6 RNA的二级结构第三…