这是我所做的。我下载了 foxtrotgps.1.1.1.tar.gz,因为它是最新的 /home/crash/usr/local.src,我将其解压到我的 /home/crash/usr/local/src 作为目录 /foxtrotgps.1.1.1
然后,我检查了所有必需的包是否达到正确的级别,如果它们存在或者缺失,我就添加它们。
然后我转到 FTGPS 目录并执行 ./configure,然后它会到达它所说的位置;
No package 'gtk+-2.0' found
No package 'gdk-2.0' found
No package 'gthread-2.0' found
但是 gtk+-2.0 在那里,但我找不到 gdk 或 gthread。它停止了,什么也没发生。我做错了什么 - 我缺少哪些软件包依赖项?
答案1
附则
我假设你正在使用较新版本的 Ubuntu,例如 12.04。存储库中的版本被视为稳定的- 因此也许您希望使用该版本。
但是,如果您喜欢走在前沿 - 从 PPA 编译或安装是最佳选择。请记住,这种方式可能会让您的系统处于潜在的不稳定状态。
如何编译
安装所需的依赖项如下:
sudo apt-get install autotools-dev intltool libbluetooth-dev libcurl4-gnutls-dev libexif-dev libgconf2-dev libglade2-dev libgps-dev libgtk2.0-dev libsoup2.4-dev libsqlite3-dev libxml2-dev
记得还要安装包,build-essential
即
sudo apt-get install build-essential
我怎么知道的
......好吧,我有点作弊了。
搜索packages.ubuntu.comfoxtrotgps
对于您的包-我在 Quantal 存储库中查找。
查看资源并查找 debian.tar.xz 文件。单击它 - 它将会在存档管理器中打开。导航到control
debian 文件夹中的文件。
build-depends 部分是 Launchpad 构建源所需的软件包 - 它与您需要安装的软件包相同。
答案2
有时,您可以不使用源依赖项的 PPA 来编译新版本,并使用build-dep
Ubuntu 中的强大功能。确保您已选择源包,并在 sources.list 文件中包含此行:
deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
您可以在终端中输入进行检查cat /etc/apt/sources.list
。
我已经通过获取依赖项成功编译了Stellarium 0.11.3
、和其他文件;例如:Scummvm 1.5.0
build-dep
sudo apt-get build-dep scummvm
对于存储库中已有的包,您可以使用以下命令检查依赖关系:
apt-cache show foxtrotgps
和比较它包含新版本所需的依赖项,将在程序的网站上列出,或在源代码下载的自述文件中列出。
通常,当通过方法获取依赖项时,build-dep
您必须下载稳定的源代码来自程序的站点,而不是开发或 git 版本。它将不是总是可以通过这种方式编译新版本,但值得一试。(例如,Gimp 2.8 需要更高版本的 Gtk,而使用 Precise 的源文件无法满足这一要求。)
然而,我已经build-dep
成功地使用过这个方法狐步舞;只需按照以下步骤操作即可(假设您已经安装了build-essential
):
从以下网址下载最新的稳定源代码(目前版本为 1.1.1)Foxtrot 网站
打开终端并输入
sudo apt-get build-dep foxtrotgps
- 将下载的源代码用
tar xzvf <file>
和解压cd
到 foxtrot 文件夹。然后运行以下三个命令: ./configure
make
sudo checkinstall
(checkinstall
如果没有,请安装,或使用sudo make install
)
下面是编译后的程序 foxtrotgps 的屏幕截图: