tanius Asked: 2015-11-16 07:21:27 +0800 CST2015-11-16 07:21:27 +0800 CST 2015-11-16 07:21:27 +0800 CST 如何在 Ubuntu 15.10 及更新版本中安装 gnotime? 772 时间跟踪器应用程序gnotime在 Ubuntu 15.04 中可用(在 Launchpad 上)。但是,从 15.10 到 17.10 的 Ubuntu 版本不包含任何版本,只包含源码包。 我怎样才能继续安装 gnotime? software-installation 1 个回答 Voted Best Answer tanius 2015-11-16T07:21:27+08:002015-11-16T07:21:27+08:00 对于 Ubuntu 17.10:自己编译 安装 Ubuntu 15.04 包在这里不起作用,所以我们必须自己编译程序。这是可能的,但由于我们在最近的发行版中处理相当旧的软件而变得有点困难。这是我成功的方式: 1.安装所需的构建工具 sudo apt install checkinstall 安装dbus-binding-tool,稍后编译时需要gnotime: sudo apt install libdbus-glib-1-dev 2.编译安装qof Ubuntu 17.10 提供了libqof2,但是我们需要更早的版本。所以我们从用于 Ubuntu 15.04 包的未更改的 0.8.7 源包编译它: sudo apt-install sqlite libsqlite0-dev mkdir qof && cd qof wget https://launchpad.net/ubuntu/+archive/primary/+files/qof_0.8.7.orig.tar.gz tar -xzf qof_0.8.7.orig.tar.gz && cd qof-0.8.7 ./configure make sudo checkinstall make install 3.编译安装gtkhtml 3.xx Ubtuntu 17.10 提供了 gtkhtml 版本 4,但我们需要版本 3。我们使用Debian 维护者提供的包和补丁从源代码编译版本 3.32.2。没有这些补丁,编译将无法进行。 sudo apt install libenchant-dev mkdir gtkhtml && cd gtkhtml wget http://http.debian.net/debian/pool/main/g/gtkhtml3.14/gtkhtml3.14_3.32.2.orig.tar.gz tar -xzf gtkhtml3.14_3.32.2.orig.tar.gz && cd gtkhtml-3.32.2 应用 Debian 维护者提供的补丁(我遵循这些说明): wget http://http.debian.net/debian/pool/main/g/gtkhtml3.14/gtkhtml3.14_3.32.2-2.2.debian.tar.gz tar -xzf gtkhtml3.14_3.32.2-2.2.debian.tar.gz(重要的是这会在我们上面创建debian的普通gtkhtml源目录中创建子目录) apt-get install quilt export QUILT_PATCHES=debian/patches quilt push -a G_CONST_RETURN将源文件中出现的所有内容替换为const. 这向后移植了对更高版本中提供的错误的修复,否则会禁止编译。 ./configure 在src/Makefiletarget 的第 580 行中gnotime,将“-lm”附加到该行。根据这些说明,这修复了错误“未定义对符号 'lround@@GLIBC_2.2.5 的引用” 。当然,更清洁的解决方案是将其作为一个选项包含在内./configure。 make sudo checkinstall make install 4.编译安装gnotime 我们使用(到目前为止)最新的提交版本2e3181c,因此我们首先将其作为快照获取: wget https://sourceforge.net/code-snapshots/git/g/gt/gttr/code.git/gttr-code-2e3181c7b16cc95b2ca50a94bf8d23453fb561a5.zip 安装我们不必自己编译的其余构建依赖项: sudo apt install gnome-common libglib2.0-dev guile-2.0-dev gtk+-2.0 libgtk2.0-dev libgnome2-dev libgnomeui-dev libglade2-dev libxss-dev ./autogen.sh make sudo checkinstall make install 现在开始gnotime:export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib; gnotime或使用这些说明永久更改此库路径。 对于 Ubuntu 15.10:安装 15.04 软件包 虽然不是最干净的解决方案,但您仍然可以手动成功安装 Ubuntu 15.04 软件包及其依赖项。AMD64 架构的示例命令: wget http://launchpadlibrarian.net/188278296/qof-data_0.8.8-1_all.deb; wget http://launchpadlibrarian.net/188278297/libqof2_0.8.8-1_amd64.deb; wget https://launchpadlibrarian.net/160508015/libgtkhtml3.14-19_3.32.2-0ubuntu4_amd64.deb; wget http://launchpadlibrarian.net/188196809/gnotime_2.4.1-1_amd64.deb; sudo dpkg -i qof-data_0.8.8-1_all.deb; sudo dpkg -i libqof2_0.8.8-1_amd64.deb; sudo dpkg -i libgtkhtml3.14-19_3.32.2-0ubuntu4_amd64.deb; sudo dpkg -i gnotime_2.4.1-1_amd64.deb; 使用这种方法,将不会有自动更新,但目前无论如何都不能期望 gnotime 进行更新。 (更好的方法是使用版本固定或从源包安装。)
对于 Ubuntu 17.10:自己编译
安装 Ubuntu 15.04 包在这里不起作用,所以我们必须自己编译程序。这是可能的,但由于我们在最近的发行版中处理相当旧的软件而变得有点困难。这是我成功的方式:
1.安装所需的构建工具
sudo apt install checkinstall
安装
dbus-binding-tool
,稍后编译时需要gnotime
:sudo apt install libdbus-glib-1-dev
2.编译安装qof
Ubuntu 17.10 提供了
libqof2
,但是我们需要更早的版本。所以我们从用于 Ubuntu 15.04 包的未更改的 0.8.7 源包编译它:sudo apt-install sqlite libsqlite0-dev
mkdir qof && cd qof
wget https://launchpad.net/ubuntu/+archive/primary/+files/qof_0.8.7.orig.tar.gz
tar -xzf qof_0.8.7.orig.tar.gz && cd qof-0.8.7
./configure
make
sudo checkinstall make install
3.编译安装gtkhtml 3.xx
Ubtuntu 17.10 提供了 gtkhtml 版本 4,但我们需要版本 3。我们使用Debian 维护者提供的包和补丁从源代码编译版本 3.32.2。没有这些补丁,编译将无法进行。
sudo apt install libenchant-dev
mkdir gtkhtml && cd gtkhtml
wget http://http.debian.net/debian/pool/main/g/gtkhtml3.14/gtkhtml3.14_3.32.2.orig.tar.gz
tar -xzf gtkhtml3.14_3.32.2.orig.tar.gz && cd gtkhtml-3.32.2
应用 Debian 维护者提供的补丁(我遵循这些说明):
wget http://http.debian.net/debian/pool/main/g/gtkhtml3.14/gtkhtml3.14_3.32.2-2.2.debian.tar.gz
tar -xzf gtkhtml3.14_3.32.2-2.2.debian.tar.gz
(重要的是这会在我们上面创建debian
的普通gtkhtml
源目录中创建子目录)apt-get install quilt
export QUILT_PATCHES=debian/patches
quilt push -a
G_CONST_RETURN
将源文件中出现的所有内容替换为const
. 这向后移植了对更高版本中提供的错误的修复,否则会禁止编译。./configure
src/Makefile
target 的第 580 行中gnotime
,将“-lm”附加到该行。根据这些说明,这修复了错误“未定义对符号 'lround@@GLIBC_2.2.5 的引用” 。当然,更清洁的解决方案是将其作为一个选项包含在内./configure
。make
sudo checkinstall make install
4.编译安装gnotime
我们使用(到目前为止)最新的提交版本
2e3181c
,因此我们首先将其作为快照获取:wget https://sourceforge.net/code-snapshots/git/g/gt/gttr/code.git/gttr-code-2e3181c7b16cc95b2ca50a94bf8d23453fb561a5.zip
安装我们不必自己编译的其余构建依赖项:
sudo apt install gnome-common libglib2.0-dev guile-2.0-dev gtk+-2.0 libgtk2.0-dev libgnome2-dev libgnomeui-dev libglade2-dev libxss-dev
./autogen.sh
make
sudo checkinstall make install
gnotime
:export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib; gnotime
或使用这些说明永久更改此库路径。对于 Ubuntu 15.10:安装 15.04 软件包
虽然不是最干净的解决方案,但您仍然可以手动成功安装 Ubuntu 15.04 软件包及其依赖项。AMD64 架构的示例命令:
使用这种方法,将不会有自动更新,但目前无论如何都不能期望 gnotime 进行更新。
(更好的方法是使用版本固定或从源包安装。)