Ubuntu 18.04 全新安装。
$ pkg-config --list-all 2>&1 | grep -A2 -B2 GLib
(pkg-config:31662): GLib-CRITICAL **: 06:08:21.279: g_string_insert_len: assertion 'len == 0 || val != NULL' failed
这是怎么回事?我们需要修复这个问题吗?每次我使用 pkg-config 时都会发生这种情况
我在安装过程中已经遇到了一些 GLib 错误。但系统不知何故可以使用。更像是 GLib 问题。我们如何修复它?问题到底在哪里?
根据@N0rbert 更新
#dpkg --verify
不会产生任何相关文件更改,只有一些常见的 gnome 调整 xml 和 conf 文件。安装libglib2.0-dev
也无济于事。pkg-config --list-all
使用重新安装后弹出相同的错误--reinstall libglib2.0-0 libglib2.0-bin libglib2.0-data
也无济于事。好吧,发现与 repo 相同,所以我不认为这会改变任何东西。
答案1
1. 检查系统完整性
我没有看到GLib-CRITICAL
消息在我的系统上,所以如果不确定,则使用以下命令重新安装相关软件包:
sudo apt-get install --reinstall libglib2.0-0 libglib2.0-bin libglib2.0-data
如果问题仍然存在,请使用以下命令检查系统完整性:
sudo dpkg --verify
或 debsums:
sudo apt-get install debsums
sudo debsums --all --changed
并重新安装可能包含损坏/丢失/更改的文件的软件包。
2. 使用*.pc
文件安装包
关于*.pc
文件。如果您访问搜索https://packages.ubuntu.com和*.pc
评估包内文件的搜索您将看到相关包和文件的长列表:
所以你需要安装一些相关的开发包。
至少libglib2.0-dev
有一个glib-2.0.pc
:
sudo apt-get install libglib2.0-dev
你会得到类似这样的结果:
$ pkg-config --list-all | grep -A2 -B2 GLib iso-codes iso-codes - ISO country, language, script and currency codes and translations caja-python Caja-Python - Caja-Python Components gobject-2.0 GObject - GLib Type, Object, Parameter and Signal Library gmodule-export-2.0 GModule - Dynamic module loader for GLib libpcreposix libpcreposix - PCREPosix - Posix compatible interface to libpcre geoclue-2.0 Geoclue - The Geoinformation Service -- adwaita-icon-theme gnome-icon-theme - A collection of icons used as the basis for GNOME themes libpcre libpcre - PCRE - Perl compatible regular expressions C library with 8 bit character support glib-2.0 GLib - C Utility Library mate-keybindings mate-keybindings - Keybindings configuration for MATE applications gmodule-2.0 GModule - Dynamic module loader for GLib gnome-system-tools gst - Gnome System Tools gthread-2.0 GThread - Thread support for GLib caja-sendto caja-sendto - Extend caja-sendto through plugins xbitmaps X bitmaps - Bitmaps that are shared between X applications -- libpcre32 libpcre32 - PCRE - Perl compatible regular expressions C library with 32 bit character support xkeyboard-config XKeyboardConfig - X Keyboard configuration data gmodule-no-export-2.0 GModule - Dynamic module loader for GLib xkbcomp xkbcomp - XKB keymap compiler
(在干净的 Ubuntu 18.04.2 LTS 虚拟机上测试)
注意:Debian 和 Ubuntu 不是基于源代码的 GNU/Linux 发行版,也就是说,它们不是 Gentoo 或 Funtoo。后者预计会预安装包含内容和开发包及工具,但 Debian 则不需要。