当前位置:   article > 正文

在开发板上安装gdb_configure: error: gmp is missing or unusable

configure: error: gmp is missing or unusable

网上对于在开发板上安装gdb的教程大多都是将开发板的文件系统放在虚拟机主机上,从而通过nfs挂载上去的,主要是针对性能较差开发板,本教程讲解的是如何在开发板上直接安装gdb。

为什么不能直接将pc上交叉编译器中的gdb文件移植过来呢:
因为交叉编译器上的gdb是针对pc上的x86架构编译得到的,而我们需要的是在arm64架构上得到的,这也就是将文件系统放在开发板上的第二个好处。

开发环境:debian10
使用的是瑞芯微的RK3399prod

首先我们要去官网上下载gdb源代码,下面是gdb源码地址:
https://ftp.gnu.org/gnu/gdb/

这里我下载的是最新的gdb-11.2.tar.gz
下载完成后输入指令:

tar -zvxf gdb-11.2.tar.gz
  • 1

然后进入对应目录下,输入指令:

mkdir build
cd build
  • 1
  • 2
../configure --target=aarch64-linux-gnu --host=aarch64-linux-gnu --prefix=/usr/local/aarch64-gdb -v
  • 1

然后执行编译

make -j4
  • 1

遇到错误,缺少GMP文件
GMP is missing or unusable
解决方案如下:

apt-cache search GMP
  • 1

找到相关联的软件,找到libgmp-dev

sudo apt-get install libgmp-dev
  • 1

遇到错误:提示获取的404找不到

sudo apt-get update
  • 1

出现inrelease字样,通过翻译知道应该是有冲突。

这里借鉴了如下的思路:下面是网址链接
网址链接

命令如下:

sudo apt-get clean
sudo mv /var/lib/apt/lists /tmp
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean 
sudo apt-get update
  • 1
  • 2
  • 3
  • 4
  • 5

然后再次更新,安装软件,提示成功
然后执行:

sudo make install
  • 1

在/usr/local/aarch64-gdb/bin目录下得到gdb可执行文件
执行指令:

file gdb
  • 1

得到:
aarch64-linux-gnu-gdb: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=55593d5d37ed4376cab71a5b099c34b581ff490a, with debug_info, not stripped

这里得到gdb文件就是ARM64位啦。

mv gdb aarch64-linux-gnu-gdb
  • 1
cp aarch64-linux-gnu-gdb /usr/bin
  • 1

至此gdb移植完成

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/190931
推荐阅读
相关标签
  

闽ICP备14008679号