64位Ubuntu12.04下安装arm-linux-gdb,以及解决no termcap library found的方法

来源:互联网 发布:阿里云盒子root 编辑:程序博客网 时间:2024/06/13 06:40

为了搭建完整的嵌入式交叉编译开发环境,装好gcc之后, 忍不住要移植gdb,但是装了一上午,知道现在才装好,现在将笔记整理一下,以待后用。

首先,下载文件arm-linux-gdb-7.5.tar.gz文件 ,在很多地方都能下载,如果你想方便一些,可以直接打开链接 下载。

解压该文件,然后发现在arm-linux-gdb-7.5文件夹中有两个文件,一个是build-all脚本,一个是gdb-7.5.tar.gz。在root权限下定位到该目录,然后执行./build-all,可以看到终端输出大量信息,目测是先在解压文件,然后编译文件对吧。没错,打开该文件,我们可以看到里面关键的就是解压、configure 、make和 make install几个常见的命令而已。可以先等等看看能不能正确安装,如果最后不走运地遇到了“no termcap library found”的问题,该如何解决呢?

网上的材料不算多,而且很多都是一个人叫“skyflying2012”的哥们写的,另外,还有个哥们也写了看上去很深刻的文章

http://blog.csdn.net/edwardlulinux/article/details/8070224

他们仔细分析了--build --host --target等编译的几个选项,很有深度,也介绍了解决“configure: error: no termcap library found”的方法,可惜我发现并不好好用,貌似有点错误。很明显这是缺少一个termcap库,这是一个终端数据库,termcap不需要交叉编译,在Ubuntu下直接编译即可,我的做法是:

首先在网上从各种垃圾下载中找到了一个真正能用的termcap 安装包,链接为点击打开链接

然后将该文件直接解压出来, 执行配置脚本

 ./configure --target=arm-none-linux-gnueabi --prefix=/opt/termcap

然后执行make和make install安装即可。让我很折腾的是网上说该文件要放在交叉编译工具链的文件夹下,其实不对,只要将/opt/termcap/include/termcap.h复制到/usr/include文件夹下,将/opt/termcap/lib/libtermcap.a复制到/usr/lib目录下即可。(善于思考的你,马上会问 ,修改PATH环境变量更高大上啊,但是就这么两个小文件,值得吗?直接拽到系统目录下就完了)。

然后重新执行build-all就安装完了,文件安装到了/opt/arm-linux-gdb下,我测试了一下是正确的。

最后,配置环境变量

   为了更方便的调用,这里将arm-linux-gdb设置到PATH环境变量中,方法是

root权限下执行gedit /etc/bash.bashrc/,然后在文件的末尾加上下面这行代码

export PATH=$PATH:/opt/arm-linux-gdb/binexport PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin

注意,这里如果有arm-linux-gcc的设置,一定要将arm-linux-gdb的放在上面,因为有些gcc中自带gdb,如果反过来就不能使用我们安装的了。

最后执行下面的命令

source /etc/bash.bashrc

之后,随便进一个目录,输入命令 arm-liux-gdb,如果看到下面的输出就说明没有问题。

root@ubuntu:/opt# arm-linux-gdb
GNU gdb (GDB) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=arm-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(gdb) 
 


0 0
原创粉丝点击