安装insight

甚是蛋疼

参考:1

首先从这里下载源码(这东西可是有20+MB,慢慢下载喔)

  下面详细说一下操作方法:

  1 解压insight-6-8-1

  sudo tar jvxf insight-6-8-1.tar.bz2

  2 修改源代码,然后进入insight-6-8-1/gdb

  cd insight-6-8-1/gdb

  sudo gedit i386-linux-nat.c

  在头文件部分加上:

  #include "i387-tdep.h"

  保存,退出

  3.从新回到 insight 目录,生成Makefile

  cd ..

  sudo ./configure()

  4 开始编译

  sudo make

  5.遇到错误,编译一段时间过后就会发现本贴一开始提到的错误,一些warning被当成错误了

  cd gdb #(进入insight下的gdb目录)

  sudo gedit Makefile

  找到WERROR_CFLAGS = -Werror,将其改为(也可在前面的./configure --disable-werror)

  WERROR_CFLAGS=#-Werror(这里也可以将‘=’后面的内容删除掉变成 WERROR_CFLGAS= )

  保存退出

  仍然回到insight目录

  cd ..

  6.接着make

  sudo make

  7.这时再过段时间看看,是不是编译通过 呢

  编译通过后安装 sudo make install

  最后补充几点:

  1. 没有必等到make出error的时候再去添加头文件,开始的时候加上就好,一气呵成的编译。

  另:头文件之间有前后的依赖关系,要把i387-tdep.h 放到include 较为靠后的位置,没有查到底是依赖于哪个头文件,我把它放在了

  代码:

  #ifdef HAVE__DEBUGERG_H

  #include

  #endif

  之后,可以编译通过。

  2. 编译之前应当check下机器是否安装了termcap库文件,若无的话安装libncurses5-dev

  代码:

  sudo apt-get install libncurses5-dev

参考:2

This probably means that tk wasn't installed properly.
解决办法:


编译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

原文地址:https://www.cnblogs.com/cdwodm/p/2912903.html