2017-05-18 35 views
0

我在图书馆挣扎的最后几天(GLib2.52.2 & GTK3.22.15),而我试图在Ubuntu 16.04 LTS(全新安装)上编译它们。GTK3编译不会找到我实际编译的GLib2.0。我错过了什么?

GLib2.52.2刚编译安装所需的依赖关系后没有错误。

我的问题是以下几点:

当我要开始的GTK3.22.15

$ ./configure --prefix=/usr --with-pcre=system && make -j 6 

我收到此错误信息编译:

configure: error: Package requirements (glib-2.0 >= 2.49.4 atk >= 2.15.1 pango >= 1.37.3 cairo >= 1.14.0 cairo-gobject >= 1.14.0 gdk-pixbuf-2.0 >= 2.30.0) were not met: 

Requested 'glib-2.0 >= 2.49.4' but version of GLib is 2.48.2 

Consider adjusting the PKG_CONFIG_PATH environment variable if you 
installed software in a non-standard prefix. 

Alternatively, you may set the environment variables BASE_DEPENDENCIES_CFLAGS 
and BASE_DEPENDENCIES_LIBS to avoid the need to call pkg-config. 
See the pkg-config man page for more details. 

解决EDIT

我AskUbuntu得到了/usr/local的一切建议以防止co在某些情况下使用官方存储库更新。

$ ./configure --prefix=/usr/local --with-pcre=system && make -j 6 

在这些条件下解决了我的问题。我没有碰任何东西,指的是其他这样说:“不匹配”的依赖,编译GTK3(15年3月22日)/usr/local重新编译GLib2.0(2.52.2)之后。

回答

0

请求 '巧舌如簧-2.0> = 2.49.4',但GLib的版本是2.48.2

当编译为Gnome和Gtk库,你经常需要更新其他库了。如果从ubuntu库下载gtk3(使用synaptic软件包管理器搜索gtk3gtk+-3.0),你会看到,你不仅会下载gtk3,而是一堆其他图书馆gtk3需求。在使用存储库的情况下(推荐!)系统将处理所有事情。

我不是Ubuntu用户,但我对幕后部分感兴趣,所以我经常编译库,我必须手动执行此操作。因此,要安装gtk3的新版本,我必须首先编译并更新glib。这样做后,我可能还必须先更新PangoATK和其他几个库。如果你喜欢用这样的东西浪费时间,那就去做吧!否则考虑使用存储库。

+0

我在第一句中链接了所需的GLib版本,并且已经按照前面所述编译了它,但是感谢您的回复。当我与另一个人交谈时,我得到了建议,为了避免冲突,在'/ usr/local'中编译所有内容,在这种情况下,它运行良好。 –

+0

“/ usr/local防止冲突”实际上并不能保证一切顺利。但我很高兴它在你的情况下。请记住,尽管你已经混淆了安装路径(我知道大多数发行版都使用/ usr作为路径),但未来仍然如此。 – jcoppens

+0

我明白了。但如果我想要有两个不同的库,一个是默认的,另一个是特殊的进程,我通常如何完成这个工作? –

相关问题