procps-ng交叉编译

procps-ng交叉编译

procps-ng依赖ncurses,ncurses下载:

https://invisible-mirror.net/archives/ncurses/

ncurses交叉编译

先创建一个目录,用来保存生成的成果物,--prefix指向这个目录的绝对路径:

mkdir -p tmp
tar -xvf ncurses-6.0.tar.gz 
cd ncurses-6.0/
./configure --host=aarch64-himix100-linux CPPFLAGS="-P" --prefix=/xxx/tmp
make -j
make install

procps-ng交叉编译

tar -xvf procps-ng-3.3.11.tar.xz 
cd procps-ng-3.3.11/

echo "ac_cv_func_realloc_0_nonnull=yes" > arm-linux.cache
echo "ac_cv_func_malloc_0_nonnull=yes" >> arm-linux.cache

./configure --host=aarch64-himix100-linux \
NCURSES_CFLAGS="-I/xxx/tmp/include -I/xxx/tmp/include/ncurses" \
NCURSES_LIBS="-L/xxx/tmp/lib -lncurses" \
--prefix=/xxx/tmp/  --with-ncurses \
--cache-file=arm-linux.cache

此时直接编译make -j V=1还是说找不到curses.hncurses.h头文件,这里就直接修改Makefile(因为从V=1编译过程中可以看到编译出错时并没有把ncurses生成的头文件路径包含进去的),让Makefile包含对应的路径的头文件:

在这里插入图片描述

如下修改:

在这里插入图片描述

这样就可以编译通过了。

make -j V=1
make install

设备上使用

将上面tmp文件夹改名为procps后拷贝到设备上,需要设置相关的环境后才可以使用(使用env命令查看相关环境变量)。

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tmp/procps/lib
ln -s /tmp/procps/share/terminfo/ /usr/share/
export TERMINFO=/usr/share/terminfo

这样就可以正常使用了:(如果需要改终端的类型,设置环境变量TERM就可以了)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值