我最近开始感兴趣艾迪特屏幕播报员,我正在尝试在 Ubuntu 12.04.1 LTS 上从源代码编译它。
运行后bzr branch lp:eidete
,我进入~/eidete
目录并发现一个INSTALL
包含以下内容的文件:
Dependencies:
gtk+-3.0
libwnck-3.0
gstreamer-interfaces-0.10
gstreamer-0.10
gstreamer-pbutils-0.10
granite
xtst
gdk-x11-3.0
Installation:
bzr branch lp:eidete
cd eidete
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
经过一番调查,我相信我已经正确满足了所有软件包依赖关系,因为当我运行该步骤时,我不再收到有关此问题的投诉cmake .. -DCMAKE_INSTALL_PREFIX=/usr
。但是,当我尝试运行时make
,构建失败并显示以下输出:
christopher@XyzPrecise:~/eidete/build$ make
[ 7%] Generating src/eidete.c, src/Widgets/countdown.c, src/Widgets/keyview.c, src/Widgets/selectionarea.c, src/Widgets/end_dialog.c, src/desktop_launcher.c, build/src/Config.c
error: Package `granite' not found in specified Vala API directories or GObject-Introspection GIR directories
Compilation failed: 1 error(s), 0 warning(s)
make[2]: *** [src/eidete.c] Error 1
make[1]: *** [CMakeFiles/eidete.dir/all] Error 2
make: *** [all] Error 2
之前的步骤提示我没有安装必要版本的 Vala,因此我从瓦拉 PPA之后就再也没有收到警告cmake
。我从 Ubuntu Precise 存储库安装了所需的所有其他软件包,包括libgranite-dev
。
那么,为什么会make
抱怨呢granite
?我该如何纠正这个问题,以便能够成功构建 Eidete?
答案1
问题很可能在于你使用的是旧版本的libgranite
。要获取最新版本,你可能必须按如下方式添加基本每日 PPA:
sudo add-apt-repository ppa:elementary-os/daily
sudo apt-get update
sudo apt-get install libgranite-dev
或者,你可以从https://launchpad.net/~elementary-os/+archive/daily/+packages。
请注意,该 PPA 中有 Eidete 的每日构建,因此不需要从源代码进行编译。
此外,如果您希望通过 轻松移除它apt
,您可以将 debian/ 目录嵌套在lp:~elementary-os/eidete/deb-packaging进入 Eidete 源目录的根目录。一旦文件已分支,您就可以简单地将文件复制到那里。另外,请注意,创建 Debian 软件包需要软件包devscripts
和。dpkg-dev