[quote=“redadmin, post:19, topic:6393”]
rpm -qa | grep -E ‘^gtk2’
find /usr/lib64 -type f -name ‘libgtk-x11-2.0*.so*’
grep -R “gtk_progress_get_type” /usr/lib64 2>/dev/null
reports nothing.
[quote=“redadmin, post:19, topic:6393”]
rpm -qa | grep -E ‘^gtk2’
find /usr/lib64 -type f -name ‘libgtk-x11-2.0*.so*’
grep -R “gtk_progress_get_type” /usr/lib64 2>/dev/null
reports nothing.

Will the gtk4 matter?
No GTK2 libs remain, so the problem is a GIO module or GDK Pixbuf loader still calling gtk_progress_get_type.
Disable modules with:
env GIO_MODULE_DIR= GDK_PIXBUF_MODULE_FILE=/dev/null emacs -Q
to confirm.
Find the offending file:
strings /usr/lib64/gio/modules/.so | grep gtk_progress_get_type
strings /usr/lib64/gdk-pixbuf-2.0.0/loaders/.so | grep gtk_progress_get_type
Check the package:
rpm -qf
Reinstall it and rebuild caches:
sudo gdk-pixbuf-query-loaders --update-cache
sudo gio-querymodules /usr/lib64/gio/modules/
sudo ldconfig
pls try this
![]()
You didn’t find gtk_progress_get_type in those two directories,
so it may be coming from another .so file outside /usr/lib64/gio/modules/ or /usr/lib64/gdk-pixbuf-2.0.0/loaders/.
Try searching the whole /usr/lib64 tree:
strings /usr/lib64/.so | grep gtk_progress_get_type
strings /usr/lib64/**/.so 2>/dev/null | grep gtk_progress_get_type
Once found, check which package owns it:
rpm -qf
and reinstall that package.

Hi
gtk_progress_get_type is found in both:
/usr/lib64/libgtk-3.so.0.2404.27
/usr/lib64/libgtk-4.so.1.1200.3
Reinstalling gtk3/gtk4 gives the same checksum as before, so the files are not corrupted — the symbol still exists because it’s kept for ABI compatibility, even though it’s deprecated.
The “undefined symbol” error is likely caused by Emacs loading the wrong GTK library or mixing GTK versions at runtime.
Next step:
Check which GTK library Emacs is actually linked to:
ldd /usr/local/bin/emacs | grep gtk
ldd /usr/local/bin/emacs | grep gdk
If it’s loading GTK4 or the wrong version, restrict it to GTK3 only.
ldd /usr/local/bin/emacs | grep pixbuf
all show GTK3/GDK3 libraries, and no GTK2/GTK4 is loaded at runtime.
This means the gtk_progress_get_type error is not from the Emacs binary itself,
but from a runtime module or plugin — most likely something in:
gio/modules/
/usr/lib64/gdk-pixbuf-2.0.0/loaders/
One of these .so files is still calling the old GTK symbol.
You can try disabling these modules to confirm:
env GIO_MODULE_DIR= GDK_PIXBUF_MODULE_FILE=/dev/null emacs -Q
If the error goes away, reinstall or update the package providing the offending .so.
Disabling GIO and GDK Pixbuf modules still shows the gtk_progress_get_type error, so it’s coming from another library loaded at startup.
Check which library contains it:
for f in $(ldd /usr/local/bin/emacs | awk ‘{print $3}’ | grep -v ‘^$’); do
strings “$f” 2>/dev/null | grep -q gtk_progress_get_type && echo “$f”
done
Then use:
rpm -qf
to find the package and reinstall/update it.
will it just be a bug for emacs?
hi
It’s confirmed that the only library containing gtk_progress_get_type is:
/usr/lib64/libgtk-3.so.0
This symbol is from an old GTK2 API, but GTK3 still keeps it for ABI compatibility.
If Emacs is failing to resolve it at runtime, it might be due to a mismatch between the GTK3 headers used at build time and the GTK3 library installed at runtime — or possibly an Emacs build/configure bug.
I reinstalled AL9.6 and the GTK2/3/4 are all there.And the emacs,source-installed with GTK3, still met the same undefined symbol.It should be the bug for emacs.Thanks a lot for your kindly help.
hi I still confused with :
Since only strings /usr/lib64/libgtk-3.so.0 got the characters and strings/nm libdconfsettings.so.nm reports nothing,nm libgtk-3.so.0 also reports nothing.So which library in emacs requires this symbol?
It’s unlikely an Emacs bug. Emacs is linked to GTK3 correctly.
gtk_progress_get_type is an old GTK API; some runtime module is still asking for it.
To find which .so is requiring it, please capture the loader trace:
LD_DEBUG=symbols,libs emacs -Q 2>&1 | tee /tmp/ld.txt
grep -B3 -A3 gtk_progress_get_type /tmp/ld.txt
The .so shown just before the error is the culprit.
Check its package and rebuild/reinstall it against GTK3:
rpm -qf /path/to/that.so
sudo dnf reinstall
For symbol visibility, use:
readelf -Ws /usr/lib64/libgtk-3.so.0 | grep gtk_progress_get_type # exported?
readelf -Ws /path/to/that.so | grep gtk_progress_get_type # undefined?
If the module shows UND gtk_progress_get_type, it was built against the wrong GTK headers; removing or rebuilding that package fixes the crash.
LD_DEBUG output is nothing to worry about.
Programs often call dlsym for non-existent symbols as conditional checks, and those are not fatal.