htop-2.2.0在arm64上的手工编译

news2024/11/8 2:28:20

背景:在一款国产的arm上的linux 64位的系统上,没有htop,这里是手工交叉编译的部分笔记

文章目录

  • 写在前面
  • 下载包
  • 二、编译脚本
    • 1.ncurses
    • 2.htop
    • 之后我会把压缩包放在这里
  • 资源


写在前面

因为种种原因,需要手工编译
网上有几篇,但一方面,试过不成;版本也太旧。
所以,这里我重写一个。
最后我会压个包,放到资源里。里面包含原始包和编译脚本。

https://www.cnblogs.com/liangwode/p/5817594.html
https://blog.csdn.net/yuanlu837/article/details/119222309
https://blog.csdn.net/NRWHF/article/details/131035343

下载包

htop-2.2.0.tar.gz

ncurses-6.3.tar.gz
https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.3.tar.gz

应该htop-3.0.5,也没有问题。
但这里我是用的2.2.0

二、编译脚本

1.ncurses

代码如下(示例):

./configure CC=/opt/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc CXX=/opt/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ STRIP=/opt/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip --host=aarch64-linux-gnu --with-shared --enable-widec --disable-stripping --prefix=/data/htop/htop2_2/install_ncurses

解读:
–with-shared --enable-widec 这两句是最重要的,如果不加,则链接htop时,找不到库。
–disable-stripping 这个也是我自己发现的,没有必要一定要strip,无所谓的。但strip后,在install 阶段,progs不能过。

注意,网上的方案,我试过不行,类似这样的:

# /bin/bash
export PRJROOT=$(PWD)
 cd ncurses-6.3
./configure CC=/opt/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc \
        CXX=/opt/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ \
    --prefix=${PRJROOT}/install_ncurses \
    --without-cxx --without-cxx-binding \
    --without-ada --without-manpages \
    --without-progs --without-tests \
    --with-shared \
	--host=aarch64-linux-gnu

2.htop

代码如下(示例):

export PKG_CONFIG_PATH=/data/htop/htop2_2/install_ncurses/lib/pkgconfig
export CPPFLAGS="-I/data/htop/htop2_2/install_ncurses/include"
export LDFLAGS="-L/data/htop/htop2_2/install_ncurses/lib"
export NCURSES_CONFIG=/data/htop/htop2_2/install_ncurses/bin/ncurses6-config

./configure --host=aarch64-linux-gnu \
CC=/opt/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc \
CXX=/opt/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ \
--prefix=/data/htop/htop2_2/install_htop

之后我会把压缩包放在这里

资源

https://download.csdn.net/download/haoyujie/89967371

拷到目标机后,
export TERM=linux 不过,上面这句可能没有用。 export TERMINFO=/usr/share/terminfo
这句有效

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

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

相关文章

ubuntu双屏只显示一个屏幕另一个黑屏

简洁的结论: 系统环境 ubuntu22.04 nvidia-535解决方案 删除/etc/X11/xorg.conf 文件 记录一下折腾大半天的问题。 ubuntu系统是22.04,之前使用的时候更新驱动导致桌面崩溃,重新安装桌面安装不上,请IT帮忙,IT一番操作过后也表示…

Oracle OCP认证考试考点详解082系列15

题记: 本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。 71. 第71题: 题目 解析及答案: 对于数据库,使用数据库配置助手(DBCA)可以执行…

为什么说SQLynx是链接国产数据库的最佳选择?

第一是因为SQLynx提供了广泛的国产数据库支持,除了市面上的主流数据库MYSQL、Oracle、PostgreSQL 、SQL Server、SQLite、MongoDB外、还支持达梦人大金仓等国产数据源! 近几年随着国产数据库市场的不断发展和成熟,越来越多的企业和机构开始选…

一个基于强大的 PostgreSQL 数据库构建的无代码数据库平台,快速构建应用程序,而无需编写一行代码(带私活源码)

随着企业和个人开发需求的不断增加,无代码平台成为了现代开发的重要组成部分,帮助那些没有技术背景的用户也能轻松创建和管理数据库应用程序。今天,我将向大家推荐一个非常出色的开源项目——Teable,它不仅支持无代码开发&#xf…

软件开发项目管理:实现目标的实用指南

由于软件项目多数是复杂且难以预测的,对软件开发生命周期的深入了解、合适的框架以及强大的工作管理平台是必不可少的。项目管理系统在软件开发中通常以监督为首要任务,但优秀的项目计划、管理框架和软件工具可以使整个团队受益。 软件开发项目管理的主要…

计算网络信号

题目描述: 网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。注意:网络信号可以绕过阻隔物 array[m][n]的二维数组代表网格地图, array[i][j]0代表i行j列是空旷位置&…

ESP8266 自定义固件烧录-Tcpsocket固件

一、固件介绍 固件为自定义开发的一个适配物联网项目的开源固件,支持网页配网、支持网页tcpsocket服务器配置、支持串口波特率设置。 方便、快捷、稳定! 二、烧录说明 固件及工具打包下载地址: https://download.csdn.net/download/flyai…

数据结构与算法——Java实现 52.力扣98题——验证二叉搜索树

我将一直向前,带着你给我的淤青 —— 24.11.5 98. 验证二叉搜索树 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的…

[mysql]DDL,DML综合案例,

综合案例 题目如下 目录 综合案例 ​编辑 ​编辑 # 1、创#1建数据库test01_library # 2、创建表 books,表结构如下: # 3、向books表中插入记录库存 # 4、将小说类型(novel)的书的价格都增加5。 # 5、将名称为EmmaT的书的价格改为40,并将…

书生实战营第四期-基础岛第三关-浦语提示词工程实践

一、基础任务 任务要求:利用对提示词的精确设计,引导语言模型正确回答出“strawberry”中有几个字母“r”。 1.提示词设计 你是字符计数专家,能够准确回答关于文本中特定字符数量的问题。 - 技能: - 📊 分析文本&…

国药准字生发产品有哪些?这几款不错

头秃不知道怎么选的朋友们看这,基本上市面上火的育发精华我都用了个遍了,陆陆续续也花了有大几w了,都是真金白银总结出来的,所以必须要给掉发人分享一些真正好用的育发产品,大家可以根据自己实际情况来选择。 1. 露卡菲…

构建基于 DCGM-Exporter, Node exporter,PROMETHEUS 和 GRAFANA 构建算力监控系统

目录 引言工具作用概述DCGM-ExporterNode exporterPROMETHEUSGRAFANA小结 部署单容器DCGM-ExporterNode exporterPROMETHEUSGRAFANANode exporterDCGM-Exporter 多容器Node exporterDCGM-ExporterDocker Compose 参考 引言 本文的是适用对象,是希望通过完全基于Doc…

Java入门14——动态绑定(含多态)

大家好,我们今天来学动态绑定和多态,话不多说,开始正题~ 但是要学动态绑定之前,我们要学习一下向上转型,方便后续更好地理解~ 一、向上转型 1.什么是向上转型 网上概念有很多,但其实通俗来讲&#xff0c…

Request 和 Response 万字详解

文章目录 1.Request和Response的概述2.Request对象2.1 Request 继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 获取请求参数的通用方式 2.3 解决post请求乱码问题 掌握内容讲解内容小结 2.4 Request请求转发 3.HTTP响应详…

Qt QCustomplot 在采集信号领域的应用

文章目录 一、常用的几种开源库:1、QCustomPlot:2、QChart:3、Qwt:QCustomplot 在采集信号领域的应用1、应用实例时域分析频谱分析2.数据筛选和处理其他参考自然界中的物理过程、传感器和传感器网络、电路和电子设备、通信系统等都是模拟信号的来源。通过可视化模拟信号,可以…

【初阶数据结构与算法】沉浸式刷题之顺序表练习(顺序表以及双指针两种方法)

文章目录 顺序表练习1.移除数组中指定的元素方法1(顺序表)方法2(双指针) 2.删除有序数组中的重复项方法1(顺序表)方法2(双指针) 3.双指针练习之合并两个有序数组方法1(直…

机器学习—矩阵乘法

矩阵只是一个或两个数组。 如何在向量之间取点积? 让我们用列向量[1,2]*[[3,4],如果z是这两个向量之间的点积,然后通过乘以第一个元素来计算z,通过这里的第一个元素,所以是1*3加第二个元素乘以第二个元素即2*4&#…

使用 ADB 在某个特定时间点点击 Android 设备上的某个按钮

前提条件 安装 ADB:确保你已经在计算机上安装了 Android SDK(或单独的 ADB)。并将其添加到系统环境变量中,以便你可以在命令行中运行 adb。 USB调试:确保 Android 设备已启用 USB 调试模式。这可以在设备的“设置” -…

数据结构之二叉树前序,中序,后序习题分析(递归图)

1.比较相同的树 二叉树不能轻易用断言,因为树一定有空 2.找结点值 3.单值二叉树 4.对称二叉树 5.前序遍历

[CUDA] 将已有的地址空间设置为pinned memory

文章目录 1. cudaHostRegitster的使用构建pinned memory1.1 基本使用1.2 cudaHostRegister 需要设置cudaSetDevice? Reference 1. cudaHostRegitster的使用构建pinned memory 注意使用C申请的内存空间,在进行copy是无法实现流的最大异步性;因此使用cud…