在mac os x上安装cgdb

时间:2014-08-09 05:59:27

标签: macos gdb cgdb

我知道这应该很容易,我已经查看了读取文件和cgdb中的其他文件,如INSTALL,讨论了isntalling cgdb。我试图安装cgdb,说明说:

$ ./configure --prefix=/usr/local
$ make
$ sudo make install

但是,我从运行git clone命令获得的文件中没有这样的文件。即从跑步:

$ git clone git://github.com/cgdb/cgdb.git

我进入该文件以查看安装说明,并说明如下:

Basic Installation
==================

   These are generic installation instructions.

   The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation.  It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions.  Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').

   If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release.  If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.

   The file `configure.in' is used to create `configure' by a program
called `autoconf'.  You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.

    The simplest way to compile this package is:  

1. `cd' to the directory containing the package's source code and type
     `./configure' to configure the package for your system.  If you're
     using `csh' on an old version of System V, you might need to type
     `sh ./configure' instead to prevent `csh' from trying to execute
     `configure' itself.

     Running `configure' takes awhile.  While running, it prints some
     messages telling which features it is checking for.

  2. Type `make' to compile the package.

  3. Optionally, type `make check' to run any self-tests that come with
     the package.

  4. Type `make install' to install the programs and any data files and
     documentation.

  5. You can remove the program binaries and object files from the
     source code directory by typing `make clean'.  To also remove the
     files that `configure' created (so you can compile the package for
     a different kind of computer), type `make distclean'.  There is
     also a `make maintainer-clean' target, but that is intended mainly
     for the package's developers.  If you use it, you may have to get
     all sorts of other programs in order to regenerate files that came
     with the distribution.

还有更多我没有粘贴。

困扰我的部分是以下段落:

   The file `configure.in' is used to create `configure' by a program
called `autoconf'.  You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.

这是否意味着我应该运行./configure.in?我有点害怕运行它因为我需要以sudo plus运行它,该文件甚至不会从我从git clone获得的代码中退出。这就是我在该目录中所拥有的:

➜  cgdb git:(master) ls
AUTHORS          Makefile.am      autogen.sh       doc              roadmap.txt
COPYING          NEWS             autorelease.sh   indent.sh        test
ChangeLog        README           cgdb             lib
FAQ              README.md        config           packages
INSTALL          TODO             configure.init   release-todo.txt
➜  cgdb git:(master)

我在该目录中为config或config.in做了grep,并没有产生任何有用的东西。

我也试过brew安装它,但我遇到了问题。当我cgdb文件并命中时,将其冻结在打印状态,而不是像(gdb)那样转到gdb的下一个命令提示符。谁知道什么了?是因为我正在使用go源文件吗?

人们做了什么让cgdb在Mac上工作?

3 个答案:

答案 0 :(得分:1)

Неу,是的,cgdb的git源没有预先构建的配置脚本。 (然而,正式版本发行版确实如此。)

如果您安装了正确的工具,可以通过运行以下方法解决此问题:

./autogen.sh

这将生成配置脚本,然后您可以像安装任何其他基于autoconf的源包一样安装它。

答案 1 :(得分:1)

忘掉配置和依赖库的所有仇恨;安装MacPorts并执行:

$ sudo port install cgdb

在撰写本文时,他们有0.6.7。

答案 2 :(得分:1)

对我有用的是:

brew install cgdb

然而,对我而言,这还不足以让它继续下去。我需要sudo它才能运行:

sudo cgdb

我绝不会猜到我需要sudo它...我想出来因为它让我误解了以下问题:

gdb fails with "Unable to find Mach task port for process-id" error