私はアーチLinuxを使用しています。最近の更新後、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
私はこのバグとは関係がないと思うminicondaの6901バージョンを除いて、7600バージョンには問題がありませんでした。それでは私のgdbusに問題があるのでしょうか?
答え1
私は何かが間違っていることを知っています。私のことを確認した結果、以前であることがPATH
わかりました。これは、端末から呼び出すときに実際に代わりに呼び出すことを意味しますが、ご覧のように、miniconda gdbusにリンクされている一部のライブラリのバージョンが他のライブラリのバージョンと一致しません。だからminicondaからパスを削除しました。または、ミニコンダが端末で起動しないようにすると、問題は解決されます。/opt/miniconda/bin
/usr/bin
gdbus
/opt/miniconda/bin/gdbus
/usr/bin/gdbus
PATH
答え2
この問題はカーネル6.2.0.arch1-1に関連しているようです。カーネル6.1.12-arch1-1にダウングレードしましたが、もはや関連する問題がないようです。私の場合、現在のカーネルがネットワーク管理者とクラッシュし、端末のすべてがクラッシュします。