libwebkit2gtk-4.1-0 装上了,但就是不工作?别急着重装,先看这四道关卡
你执行了 sudo apt install libwebkit2gtk-4.1-0 ,终端显示 Setting up libwebkit2gtk-4.1-0:amd64 (2.42.2-1) ,绿色成功提示一闪而过。
然后你编译运行一个最简 GTK 4 + WebKit 示例:
#include <gtk/gtk.h>
#include <webkit2gtk/webkit2.h>
int main(int argc, char *argv[]) {
gtk_init(&argc, &argv);
GtkWidget *view = webkit_web_view_new(); // ← 这里 segfault,或返回 NULL
return 0;
}
程序静默崩溃,或者 gdb 显示 undefined symbol: webkit_web_view_new ——
不是代码写错了,也不是没装包。是你还没闯过 WebKit2GTK 在 Debian 上的四道「隐性关卡」。
这四道关卡,每一道都藏在 ldconfig 的缓存里、 dpkg 的依赖图中、GTK 主循环的初始化顺序下、甚至 /proc/sys/user/max_user_namespaces 的内核参数里。它们不报错,却让一切停摆。下面,我们一关一关拆解。
第一关: ldconfig 缓存没刷进去,库文件'存在但不可见'
这是 最常见也最容易被忽略的失败点 。
apt install 确实把 /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.1.so.0.69.2 放进去了,但 ld-linux 启动时根本不会去这个路径翻找 —— 它只查 /etc/ld.so.cache 这个二进制索引表。而 dpkg 在安装 libwebkit2gtk-4.1-0 时调用的是:
ldconfig -n /usr/lib/x86_64-linux-gnu
注意 -n 参数:它

