3

我正在尝试按照此站点学习 GTK+3:https://python-gtk-3 tutorial.readthedocs.org/en/latest/install.html。从页面:

1.1。依赖项

GTK+3 Python 2(2.6 或更高版本)或 Python 3(3.1 或更高版本) gobject-introspection 从源代码安装 PyGObject 的最简单方法是使用 JHBuild。它旨在轻松构建源代码包并发现需要构建哪些依赖项以及以什么顺序构建。要设置 JHBuild,请遵循 JHBuild 手册。我按照该链接遵循手册并通过 git JHBuild 下载(正如他们所说的那样)并使用 make/make install 构建它。一切顺利。下一步是问题开始的地方。我按照页面运行了我应该执行的下一个命令:2.3。构建先决条件

在构建任何模块之前,必须安装某些构建工具。常见的构建工具包括 GNU Autotools(autoconf、automake、libtool 和 gettext)、GNU 工具链(binutils、gcc、g++)、make、pkg-config 和 Python,具体取决于将要构建的模块。

JHBuild 可以使用 sanitycheck 命令检查工具是否安装:

$ jhbuild 健全性检查

当我第一次运行这个时,我得到了这个:

jhbuild:无法创建安装前缀 (/opt/gnome)

我运行以下命令并得到以下结果:

daddara@daddara-desktop:~/jhbuild/jhbuild$ sudo chmod 777 /opt/gnome/ -R chmod: 无法访问/opt/gnome/': No such file or directory daddara@daddara-desktop:~/jhbuild/jhbuild$ mkdir /opt/gnome mkdir: cannot create directory/opt/gnome': 权限被拒绝 daddara@daddara-desktop:~/jhbuild/jhbuild$ jhbuild sanitycheck jhbuild:无法创建安装前缀 (/opt/gnome) daddara@daddara-desktop:~/jhbuild/jhbuild$ chmod 777 /opt/gnome/ -R chmod: 无法访问/opt/gnome/': No such file or directory daddara@daddara-desktop:~/jhbuild/jhbuild$ sudo chmod 777 /opt/gnome/ -R chmod: cannot access/opt/gnome/': 没有这样的文件或目录 daddara @daddara-desktop:~/jhbuild/jhbuild$ jhbuild sanitycheck jhbuild: 无法创建安装前缀 (/opt/gnome) daddara@daddara-desktop:~/jhbuild/jhbuild$ mkdir -p /opt/gnome mkdir: 无法创建目录`/opt/gnome':权限被拒绝

请帮我解决这个问题。有谁知道安装有什么问题?谢谢你。

4

2 回答 2

2

您需要 make /opt/gnomewith sudo mkdir然后使用sudo chmod来设置其权限。你忘了sudo在你的mkdir.

于 2015-03-18T06:47:10.217 回答
0

jhbuild 也因错误而失败:

jhbuild: install prefix (/opt/gnome) can not be created

就我而言,问题是我不小心sudo make install在 gnome-icon-theme 模块中做了一个,所以这个命令创建了/opt/gnome目录并在其中安装了 gnome-icon-theme 文件,然后我就到jhbuild run gedit了,上面提到的错误就出来了,这个是因为 jhbuild 如果存在则自动使用/opt/gnome(为了向后兼容),如果不存在则将使用推荐的方式 using ~/jhbuild/install,您可以在此处看到。

所以在这种情况下,由于里面唯一的文件/opt/gnome是我通过sudo make install命令意外安装的文件,解决方案就是删除这个目录(例如,通过做sudo rm -rf /opt/gnome),然后,命令jhbuild run any-gnome-app再次正常工作。

希望这个答案可以帮助从谷歌搜索(/opt/gnome) can not be created错误来到这里的人。

于 2017-05-26T18:10:32.330 回答