Ubuntu12.04编译安装insight-6.8

insight是linux下比较好的gdb的图形前端了,总觉得对于我这样的新手,还是有这样的工具好,就像没有用phpmyadmin时在terminal下敲mysql命令的感觉

这是我编译安装最惨烈的一次,还好最终成功,记录备忘!

insight首页:http://sourceware.org/insight/index.php

1.编译时make错误的解决

tar jxvf insight源码包

./configure

sudo make -j4

sudo make install

这样会在make这步编译很久就会报错

网上有两种解决方法,都需要改代码,而且第一种解决方法根本找不到有那行

在ubuntu论坛上找到一个解决方案很靠谱(http://forum.ubuntu.org.cn/viewtopic.php?f=88&t=269998):

将上面的configure那行改为./configure –disable-werror即可

编译安装成功

由于我在在configure中加入了prefix选项

所以还要修改在.bashrc中环境变量

export PATH=$PATH:相应的可执行文件路径

export MANPATH=$MANPATH:该软件的man目录


自此没有问题,以为安装成功

结果用来调试一个c可执行文件时报错,说没有找到可用的tk.tcl来初始化,真是想哭的心情都有了,不带这样的

在源码中搜到了tk.tcl文件放在了报错信息中的目录中,还是不行,于是继续google之。

在ppa,新立得中也找了哈insight,没有可用的,这回好多说ubuntu不支持这个了,这个已经在ubuntu中消失,而且很多是支队arm-linux-insight的,最后抱着试一试的方法,参考这个文章(http://forum.ubuntu.org.cn/viewtopic.php?t=200605),还是在ubuntu论坛

这是网友原话:

我已经找到解决方法了,你可以try try
编译insight-6.8前必须修改insight-6.8的源代码。
1)修改insight-6.8/tk/generic/tk.h
将(line 653)
#define VirtualEvent (LASTEvent)
#define ActivateNotify (LASTEvent + 1)
#define DeactivateNotify (LASTEvent + 2)
#define MouseWheelEvent (LASTEvent + 3)
#define TK_LASTEVENT (LASTEvent + 4)
改为:
#define VirtualEvent (MappingNotify)
#define ActivateNotify (MappingNotify + 1)
#define DeactivateNotify (MappingNotify + 2)
#define MouseWheelEvent (MappingNotify + 3)
#define TK_LASTEVENT (MappingNotify + 4)
并将随后的#define TK_LASTEVENT (LASTEvent + 4)删除(line 661附近)
2)修改insight-6.8/tk/generic/tkBind.c
在line 586和line 587之间增加
#ifdef GenericEvent
/* GenericEvent */ 0,
#endif

经测试,已经可以正常启动arm-linux-insight

最终我在ubuntu中也成功了,而且就是insight for linux,不是for arm-linux

终于解决了!!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值