You are not logged in.

#1 2025-03-09 09:12:35

replabrobin
Member
Registered: 2010-05-06
Posts: 237

[SOLVED] glib2 missing symbol running gpicview

After updating glib2 2.82.5-1 => 2.84.0-1 I see a new error with gpicview 0.2.5-8

/usr/bin/gpicview: symbol lookup error: /usr/lib/libgio-2.0.so.0: undefined symbol: g_variant_builder_init_static

this seems to occur in a specific context ie run in a detached process with a normal user.

When the same user runs the same command from a terminal the error is not seen.

When sudo is used to change the running user in the detached command the error is not seen.

Downdating to  2.82.5-1 removes this error.

Last edited by replabrobin (2025-03-22 10:39:32)

Offline

#2 2025-03-17 22:36:51

j0lle
Member
Registered: 2025-03-17
Posts: 1

Re: [SOLVED] glib2 missing symbol running gpicview

Interestingly, I kind of had the opposite issue (that's how I got here)
I was on 2.82.5-1, tried gimp3, and got the error
gimp: symbol lookup error: gimp: undefined symbol: g_variant_builder_init_static

upgrading to 2.84.0-1 fixed it

Offline

#3 2025-03-18 07:33:28

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,775

Re: [SOLVED] glib2 missing symbol running gpicview

run in a detached process with a normal user

What does "detached" mean in this context?
You're likely resolving some dated version of libglib-2.0.so… somehow.

ls -l /usr{/local,/}lib/libglib-2.0.*

@j0lle, no surprises there.
Partial updates are unsupported, gimp was linked against the newer glib that introduced that symbol

Offline

#4 2025-03-22 09:45:03

replabrobin
Member
Registered: 2010-05-06
Posts: 237

Re: [SOLVED] glib2 missing symbol running gpicview

OK detached means running under https://aur.archlinux.org/packages/detach. However, detaching wasn't the issue.

I found the cause of this problem to be using a pyinstaller created gui program. It seems that pyinstaller makes a copy of the dynamic libraries it needs to use
which prevents system updates from breaking the gui program.

The running process sets up an environment that includes LD_LIBRARY_PATH; if a sub-process is using a different version of some .so then it may not work.

The solution is to unset LD_LIBRARY_PATH before execing the sub-process.

Last edited by replabrobin (2025-03-22 09:45:32)

Offline

Board footer

Powered by FluxBB