我在用Archlinux。在最近的更新之后,我发现gdbus不起作用,它出现了一个符号查找错误:
➜ tidedra@ZgrArch ~ gdbus
gdbus: symbol lookup error: /usr/lib/libgobject-2.0.so.0: undefined symbol: g_string_free_and_steal然后,我想这可能是库版本的问题,所以我检查了相关文件的链接库:
➜ tidedra@ZgrArch ~ ldd /usr/bin/gdbus
linux-vdso.so.1 (0x00007ffd17dd7000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f6b395eb000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f6b394a0000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f6b3943f000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f6b39258000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f6b39251000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f6b39237000)
libmount.so.1 => /usr/lib/libmount.so.1 (0x00007f6b391f1000)
libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007f6b39156000)
libffi.so.8 => /usr/lib/libffi.so.8 (0x00007f6b3914b000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f6b397f9000)
libblkid.so.1 => /usr/lib/libblkid.so.1 (0x00007f6b39113000)
➜ tidedra@ZgrArch ~ ls -il /usr/lib/libgobject-2.0.so*
1195587 lrwxrwxrwx 1 root root 19 3月10日 23:18 /usr/lib/libgobject-2.0.so -> libgobject-2.0.so.0
1195588 lrwxrwxrwx 1 root root 35 3月14日 18:48 /usr/lib/libgobject-2.0.so.0 -> /usr/lib/libgobject-2.0.so.0.7600.0
1195589 -rwxr-xr-x 1 root root 391208 3月10日 23:18 /usr/lib/libgobject-2.0.so.0.7600.0
➜ tidedra@ZgrArch ~ ls -il /usr/lib/libglib-2.0.so*
1195561 lrwxrwxrwx 1 root root 16 3月10日 23:18 /usr/lib/libglib-2.0.so -> libglib-2.0.so.0
1198392 lrwxrwxrwx 1 root root 32 3月14日 18:44 /usr/lib/libglib-2.0.so.0 -> /usr/lib/libglib-2.0.so.0.7600.0
1195573 -rwxr-xr-x 1 root root 1351064 3月10日 23:18 /usr/lib/libglib-2.0.so.0.7600.0
➜ tidedra@ZgrArch ~ sudo updatedb
➜ tidedra@ZgrArch ~ locate libgobject
/home/tidedra/.conda/pkgs/glib-2.69.1-he621ea3_2/lib/libgobject-2.0.so
/home/tidedra/.conda/pkgs/glib-2.69.1-he621ea3_2/lib/libgobject-2.0.so.0
/home/tidedra/.conda/pkgs/glib-2.69.1-he621ea3_2/lib/libgobject-2.0.so.0.6901.0
/opt/miniconda3/lib/libgobject-2.0.so
/opt/miniconda3/lib/libgobject-2.0.so.0
/opt/miniconda3/lib/libgobject-2.0.so.0.6901.0
/opt/miniconda3/pkgs/glib-2.69.1-h4ff587b_1/lib/libgobject-2.0.so
/opt/miniconda3/pkgs/glib-2.69.1-h4ff587b_1/lib/libgobject-2.0.so.0
/opt/miniconda3/pkgs/glib-2.69.1-h4ff587b_1/lib/libgobject-2.0.so.0.6901.0
/opt/miniconda3/pkgs/glib-2.69.1-he621ea3_2/lib/libgobject-2.0.so
/opt/miniconda3/pkgs/glib-2.69.1-he621ea3_2/lib/libgobject-2.0.so.0
/opt/miniconda3/pkgs/glib-2.69.1-he621ea3_2/lib/libgobject-2.0.so.0.6901.0
/usr/lib/libgobject-2.0.a
/usr/lib/libgobject-2.0.so
/usr/lib/libgobject-2.0.so.0
/usr/lib/libgobject-2.0.so.0.7600.0
/usr/lib32/libgobject-2.0.so
/usr/lib32/libgobject-2.0.so.0
/usr/lib32/libgobject-2.0.so.0.7600.0
/usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.7600.0-gdb.py
➜ tidedra@ZgrArch ~ locate libglib-2.0
/home/tidedra/.conda/pkgs/glib-2.69.1-he621ea3_2/lib/libglib-2.0.so
/home/tidedra/.conda/pkgs/glib-2.69.1-he621ea3_2/lib/libglib-2.0.so.0
/home/tidedra/.conda/pkgs/glib-2.69.1-he621ea3_2/lib/libglib-2.0.so.0.6901.0
/opt/miniconda3/lib/libglib-2.0.so
/opt/miniconda3/lib/libglib-2.0.so.0
/opt/miniconda3/lib/libglib-2.0.so.0.6901.0
/opt/miniconda3/pkgs/glib-2.69.1-h4ff587b_1/lib/libglib-2.0.so
/opt/miniconda3/pkgs/glib-2.69.1-h4ff587b_1/lib/libglib-2.0.so.0
/opt/miniconda3/pkgs/glib-2.69.1-h4ff587b_1/lib/libglib-2.0.so.0.6901.0
/opt/miniconda3/pkgs/glib-2.69.1-he621ea3_2/lib/libglib-2.0.so
/opt/miniconda3/pkgs/glib-2.69.1-he621ea3_2/lib/libglib-2.0.so.0
/opt/miniconda3/pkgs/glib-2.69.1-he621ea3_2/lib/libglib-2.0.so.0.6901.0
/usr/lib/libglib-2.0.a
/usr/lib/libglib-2.0.so
/usr/lib/libglib-2.0.so.0
/usr/lib/libglib-2.0.so.0.7600.0
/usr/lib32/libglib-2.0.so
/usr/lib32/libglib-2.0.so.0
/usr/lib32/libglib-2.0.so.0.7600.0
/usr/share/gdb/auto-load/usr/lib/libglib-2.0.so.0.7600.0-gdb.py我没有发现任何问题,只有7600版本,除了6901版本的miniconda,我认为这与这个错误无关。我的核怎么了?
发布于 2023-03-23 04:41:43
我知道怎么回事。我查看了我的PATH,我发现/opt/miniconda/bin在/usr/bin之前,这意味着当我在终端中调用gdbus时,它实际上调用了/opt/miniconda/bin/gdbus,而不是/usr/bin/gdbus,正如您所看到的,一些链接库miniconda的版本与其他库不一致。因此,我删除了PATH中的miniconda路径,或者您可以让miniconda不从终端开始,那么问题就解决了。
发布于 2023-03-21 22:22:22
这个问题似乎与内核6.2.0.arch1-1有关。我已经降级为内核6.1.12-arch1-1,我似乎不再有相关的问题了。在我的例子中,当前内核甚至与网络管理员发生冲突,并破坏了终端中的一切。
https://unix.stackexchange.com/questions/739790
复制相似问题