linux 编译 expat,xml-无法使用expat编译GDB以用于远程调试
我一直在尝试在64位X86 Ubuntu上编译GDB的副本,以用于ARM设备的远程调试.这意味着使用expat编译GDB.连接到远程调试器时,GDB使用XML解析.这是我尝试过的一些方法以及结果.
用–with-expat编译
./configure --target=arm-none-eabi --with-expat
make
....
checking whether to use expat... yes
checking for libexpat... (cached) no
configure: error: expat is missing or unusable
Makefile:9125: recipe for target 'configure-gdb' failed
....
用–with-libexpat-prefix编译
ls -alg /usr/local/lib/*expat*
-rw-r--r-- 1 root 999128 Mar 20 23:55 /usr/local/lib/libexpat.a
-rwxr-xr-x 1 root 942 Mar 20 23:55 /usr/local/lib/libexpat.la
lrwxrwxrwx 1 root 17 Mar 20 23:55 /usr/local/lib/libexpat.so -> libexpat.so.1.6.0
lrwxrwxrwx 1 root 17 Mar 20 23:55 /usr/local/lib/libexpat.so.1 -> libexpat.so.1.6.0
-rwxr-xr-x 1 root 534224 Mar 20 23:55 /usr/local/lib/libexpat.so.1.6.0
./configure --target=arm-none-eabi --with-expat --with-libexpat-prefix=/usr/local/lib
make
....
checking whether to use expat... yes
checking for libexpat... (cached) no
configure: error: expat is missing or unusable
Makefile:9125: recipe for target 'configure-gdb' failed
....
我试图以我能想到的所有方式安装expat.上述二进制库是从老外的本地编译make install的;我也做了:
apt-get install libexpat1-dev
apt-get install expat
两者都已经是最新版本.与上述相同的结果;我只能在省略–with-expat和–with-libexpat-prefix的情况下进行编译.
欢迎提出建议.我如何才能找到有关失败的更多信息-我如何才能知道制作过程如何/何处找不到/批准外籍人士?
同行旅客(但我在这里找不到有效的答案):
解决方法:
我进行了两项更改,使其对我有用.
首先,我的./configure命令有点错误.代替
./configure --target=arm-none-eabi --with-expat --with-libexpat-prefix=/usr/local/lib
它应该是
./configure --target=arm-none-eabi --with-expat --with-libexpat-prefix=/usr/local/
因为该前缀应该位于include和lib之上.从配置文件中:
--with-expat include expat support (auto/yes/no)
--with-libexpat-prefix[=DIR] search for libexpat in DIR/include and DIR/lib
但我不确定这是否是真正的解决方案.直到我意外地从gdb的根目录中的gdb目录开始编译之前,我仍然遇到相同的编译错误.让我说清楚一点:
root@scallion:~/gdb-arm-build/gdb-7.11# ls -alg
total 5016
drwxr-xr-x 16 root 4096 Mar 21 23:48 .
drwxr-xr-x 3 root 4096 Mar 20 16:54 ..
drwxr-xr-x 7 root 20480 Mar 21 23:48 bfd
-rw-rw-rw- 1 200 492650 Feb 24 01:55 ChangeLog
-rwxrwxrwx 1 200 7333 Feb 19 2015 compile
drwxr-xr-x 2 root 4096 Mar 20 16:54 config
-rwxrwxrwx 1 200 43614 Feb 9 19:19 config.guess
-rw-rw-rw- 1 200 25713 Feb 9 19:19 config-ml.in
-rwxrwxrwx 1 200 14916 Jun 11 2014 config.rpath
-rwxr-xr-x 1 root 31637 Mar 21 23:48 config.status
-rwxrwxrwx 1 200 36139 Feb 9 19:19 config.sub
-rwxrwxrwx 1 200 486119 Feb 24 01:55 configure
-rw-rw-rw- 1 200 113771 Feb 24 01:59 configure.ac
-rw-rw-rw- 1 200 18002 Jun 11 2014 COPYING
-rw-rw-rw- 1 200 35147 Jun 11 2014 COPYING3
-rw-rw-rw- 1 200 7639 Jun 11 2014 COPYING3.LIB
-rw-rw-rw- 1 200 25291 Jun 11 2014 COPYING.LIB
drwxr-xr-x 2 root 4096 Mar 20 16:54 cpu
-rwxrwxrwx 1 200 22464 Feb 19 2015 depcomp
-rw-r--r-- 1 200 1887 Feb 24 01:59 djunpack.bat
drwxr-xr-x 2 root 4096 Mar 21 23:49 etc
drwxr-xr-x 27 root 36864 Mar 21 23:51 gdb **<<<<<<<< Here**
drwxr-xr-x 12 root 4096 Mar 20 16:54 include
-rwxrwxrwx 1 200 14675 Feb 19 2015 install-sh
drwxr-xr-x 2 root 4096 Mar 21 23:48 intl
drwxr-xr-x 4 root 4096 Mar 21 23:49 libdecnumber
drwxr-xr-x 4 root 12288 Mar 21 23:48 libiberty
-rw-rw-rw- 1 200 263820 Feb 9 19:19 libtool.m4
-rw-rw-rw- 1 200 1768 Jun 11 2014 ltgcc.m4
-rw-rw-rw- 1 200 249723 Jun 11 2014 ltmain.sh
-rw-rw-rw- 1 200 6126 Jun 11 2014 lt~obsolete.m4
-rw-rw-rw- 1 200 11950 Jun 11 2014 ltoptions.m4
-rw-rw-rw- 1 200 4372 Jun 11 2014 ltsugar.m4
-rw-rw-rw- 1 200 703 Jun 11 2014 ltversion.m4
-rw-rw-rw- 1 200 3909 Feb 19 2015 MAINTAINERS
-rw-r--r-- 1 root 414118 Mar 21 23:48 Makefile
-rw-rw-rw- 1 200 30110 Feb 9 19:19 Makefile.def
-rw-rw-rw- 1 200 1719859 Feb 24 01:57 Makefile.in
-rw-rw-rw- 1 200 69660 Feb 24 01:55 Makefile.tpl
-rw-r--r-- 1 200 736309 Feb 24 01:59 md5.sum
-rwxrwxrwx 1 200 6872 Feb 19 2015 missing
-rwxrwxrwx 1 200 2179 Jun 11 2014 mkdep
-rwxrwxrwx 1 200 3538 Feb 19 2015 mkinstalldirs
-rwxrwxrwx 1 200 2636 Feb 19 2015 move-if-change
drwxr-xr-x 5 root 12288 Mar 21 23:49 opcodes
drwxr-xr-x 7 root 4096 Mar 21 23:49 readline
-rw-rw-rw- 1 200 1719 Jun 11 2014 README
-rw-rw-rw- 1 200 961 Jun 11 2014 README-maintainer-mode
-rw-r--r-- 1 root 13 Mar 21 23:48 serdep.tmp
drwxr-xr-x 33 root 4096 Mar 21 23:49 sim
-rwxrwxrwx 1 200 9150 Feb 9 19:19 src-release.sh
-rwxrwxrwx 1 200 2265 Jun 11 2014 symlink-tree
drwxr-xr-x 2 root 4096 Mar 20 16:54 texinfo
-rwxrwxrwx 1 200 6421 Feb 19 2015 ylwrap
drwxr-xr-x 14 root 4096 Mar 21 23:48 zlib
直到我从目录gdb-arm-build / gdb-7.11 / gdb运行make,它对我来说才成功.使用生成的gdb二进制文件,我现在可以连接到目标,停止,启动,查看寄存器,符号等.如果我发现我的编译存在任何不足,我将进行后续工作,但到目前为止我还不错.
我不知道我在这里不了解什么,因此如果有人可以阐明我犯的错误,我将不胜感激.
标签:debugging,gdb,arm,linux,xml
来源: https://codeday.me/bug/20191118/2031774.html
linux 编译 expat,xml-无法使用expat编译GDB以用于远程调试相关推荐
- 用GDB Server进行远程调试
某些时候由于模拟环境的限制,调试必须要在目标板上进行.由于嵌入式系统资源比较有限,一般不能在目标板上直接构建GDB的调试环境,这时我们通常采用gdb+gdbserver的远程调试方法:gdbserve ...
- python:xml.parsers.expat --- 使用 Expat 的快速 XML 解析
python:xml.parsers.expat --- 使用 Expat 的快速 XML 解析 XMLParser对象 ExpatError 异常 示例 内容模型描述 Expat 错误常量 xml. ...
- linux的gdb远程调试,嵌入式Linux的GDB远程调试如何实现呢?
有道启新嵌入式研究院--远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接.使用GDB标准远程串行协议协同工作,实现对目标机上的系统内核和上层应用的监控和调试功能.调试s ...
- 【GDB】gdbserver的使用,远程调试开发板
0.将gdbserver拷贝到目标板子上 注:gdbserver在交叉编译工具目录/debug-root/usr/bin下 可用file命令查看 --------------------------- ...
- vs linux 交叉编译,VS结合VisualGDB搭建OpenWrt交叉编译远程调试开发环境
由于此开发环境涉及3设备协同工作,因此先说明一下整体开发环境的配置以及每部分所负责的功能: 1.Windows PC 这里我用的是64位Win7,作为VS的安装环境Windows自然是必不可少的,本机 ...
- ida调试linux程序,MAC使用IDA PRO远程调试LINUX程序
1 背景 在学习Linux系统上的一些漏洞知识的时候,往往需要进行"实地测试",但是在Linux系统上进行调试并不太方便,因为LINUX自带的GDB调试工具真的不太人性化,即使有G ...
- eclipse gdb gdbserver 远程调试
https://blog.csdn.net/linuxarmsummary/article/details/44975495 我们在 Linux 主机中搭建我们的开发环境,使用 Ubuntu 10.0 ...
- Linux下Debug模式启动Tomcat进行远程调试
J2EE开发各类资源下载清单, 史上最全IT资源,点击进入! 一. 应用场景 在实际的测试过程中,可能会遇到由于程序执行的不间断性,我们无法构造测试场景来验证某个功能的正确性,只有通过代码 ...
- linux安装了xml怎么编译,linux下libxml库的安装及编译
linux下libxml库的安装及编译 1. 下载和安装LIBXML2 Libxml2是个C语言的XML程式库,能简单方便的提供对XML文件的各种操作,并且支持XPATH查询,及部分的支持XSLT转换 ...
最新文章
- 中随机打乱序列的函数_提前准备,方能“随机”应对,人生不悔
- Node.js之readline模块的使用
- Memcpy, blockcopy的进一步理解
- python爬取数据生成词云_Python 爬取生成中文词云以爬取知乎用户属性为例
- LeetCode(657)——机器人能否返回原点(JavaScript)
- NHibernate使用--环境搭建
- linux 系统性能分析常用命令
- 「leetcode」452. 用最少数量的箭引爆气球【贪心算法】详细图解
- jQuery jqModal弹出层
- 研究生学历,毕业就给房!给户口!
- 2018年 - 年终总结
- chrome浏览器清理缓存也没有用,每次必须重启怎么办?
- hive实现两列数据合并成一列
- 计算机硬盘小影响,系统C盘容量太小有哪些危害?又要如何扩容呢?今天再说一遍!...
- linux磁盘文件大小排序,Linux中查看磁盘大小、文件大小、排序方法小结
- 计算机网络协议层次结构图
- 用Python 画螺旋正方形
- Vue3响应式API ref和reactive
- MSM实现tomcat集群的session共享
- 通过配置文件改变Ubuntu系统语言
热门文章
- python np random choice_Python Numpy random.choice() 数据分布
- 经典文献阅读之--Lifelong SLAM(变化环境中Lifelong定位建图)
- 西北人端午节必吃:食家巷老油饼搭配甑糕尝尽节日美味和文化内涵
- 小程序生成海报,easy-canvas, painting参数使用demo
- 区块链每日快讯(0127)-火星人宣布退休,MDC项目疑似跑路
- 公务员-行测-判断推理01图形推理
- QT学习小记1----音乐播放器(1)
- windows剪切板的历史记录
- Android_基于BMOB的聊天软件_添加好友
- Ubuntu(20.04)中安装搜狗输入法详细教程