WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: librsvg.tcz update bug?  (Read 244 times)

Offline thane

  • Hero Member
  • *****
  • Posts: 720
librsvg.tcz update bug?
« on: November 14, 2025, 03:24:40 PM »
I'm a little hesitant to report this as a bug, since it may have been an issue with my own setup and I was able to resolve it. Just in case though:

After installing the 11/13/2025 update to librsvg.tcz (TCL 16.2 x86_64) on a lenovo X201 Thinkpad, when I rebooted the desktop was almost unreadable and the Evince app wouldn't start. Luckily I was booting off USB, and was able to boot off the same USB to a readable desktop on another computer. Attempting to start Evince from a terminal showed missing libraries, which according to Apps are provided by extensions that I already had. Based on the Apps info I manually added libEGL.tcz and libGLESv2.tcz to onboot.lst. This resolved the missing libraries issue, and the desktop problem on the Thinkpad.

Like I said, this may just have been a weird issue with my rather dated hardware. Hopefully nobody else has problems!

thane

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12309
Re: librsvg.tcz update bug?
« Reply #1 on: November 14, 2025, 05:06:00 PM »
Hi thane
The dependency chain for librsvg appears to have changed.
librsvg depends on pango depends on cairo which used to depend on libEGL and libGLESv2.

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12309
Re: librsvg.tcz update bug?
« Reply #2 on: November 14, 2025, 05:11:15 PM »

Offline thane

  • Hero Member
  • *****
  • Posts: 720
Re: librsvg.tcz update bug?
« Reply #3 on: November 14, 2025, 05:37:19 PM »
Hi Rich, libEGL.tcz and libGLESv2.tcz show up in my Apps "All not depended on" list. Maybe I need to update .dep files?

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1687
Re: librsvg.tcz update bug?
« Reply #4 on: November 14, 2025, 06:02:44 PM »
Hi, thane. I always update with the command update-everything, which gracefully handles changed .dep files and missing dependencies. Please try running that command and see if it solves your problem.

Offline thane

  • Hero Member
  • *****
  • Posts: 720
Re: librsvg.tcz update bug?
« Reply #5 on: November 14, 2025, 08:59:55 PM »
Thanks, I'll try that.

thane

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12309
Re: librsvg.tcz update bug?
« Reply #6 on: November 14, 2025, 10:54:27 PM »
Hi thane
I just ran a scan on my 64 bit TC16 install and these were the extensions
that were dependent on libEGL.so (including libgbm.so) or libGLESv2.so:
Code: [Select]
tc@box:~$ for F in `find /tmp/tcloop/ | grep -vE ".so.[0-9].*"`; do readelf -d $F 2> /dev/null | grep '(NEEDED)' | grep -oE "libEGL|libGLES|libgbm" && echo $F; done
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/crocus_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/i915_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/iris_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/kms_swrast_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/libdril_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/nouveau_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/r300_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/r600_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/radeonsi_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/swrast_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/virtio_gpu_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/vmwgfx_dri.so
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/zink_dri.so
libgbm
/tmp/tcloop/libEGL/usr/local/lib/libEGL.so
libgbm
/tmp/tcloop/xorg-server/usr/local/lib/xorg/modules/drivers/modesetting_drv.so
libgbm
/tmp/tcloop/xorg-server/usr/local/lib/xorg/modules/libglamoregl.so
libEGL
libgbm
/tmp/tcloop/gst-plugins-base/usr/local/lib/libgstgl-1.0.so
libEGL
libGLES
/tmp/tcloop/libcanberra/usr/local/lib/gtk-2.0/modules/libcanberra-gtk-module.so
libEGL
libGLES
/tmp/tcloop/libcanberra/usr/local/lib/gtk-3.0/modules/libcanberra-gtk-module.so
libEGL
libGLES
/tmp/tcloop/libcanberra/usr/local/lib/gtk-3.0/modules/libcanberra-gtk3-module.so
libEGL
libGLES
/tmp/tcloop/libcanberra/usr/local/lib/libcanberra-gtk.so
libEGL
libGLES
/tmp/tcloop/libcanberra/usr/local/lib/libcanberra-gtk3.so
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/eglgears_wayland
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/eglgears_x11
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/eglinfo
libgbm
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/eglkms
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/egltri_wayland
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/egltri_x11
libGLES
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/es2_info
libGLES
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/es2gears_wayland
libGLES
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/es2gears_x11
libGLES
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/es2tri
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/peglgears
libEGL
/tmp/tcloop/mesa-demos/usr/local/bin/xeglgears
tc@box:~$

These are the extensions that list libEGL.tcz or libGLESv2.tcz as dependecies:
Code: [Select]
tc@box:~$ grep -E "libEGL|libGLES" /etc/sysconfig/tcedir/optional/*.dep
/etc/sysconfig/tcedir/optional/Xorg-7.7-3d.tcz.dep:libEGL.tcz
/etc/sysconfig/tcedir/optional/Xorg-7.7-3d.tcz.dep:libGLESv2.tcz
/etc/sysconfig/tcedir/optional/firefox.tcz.dep:libGLESv2.tcz
/etc/sysconfig/tcedir/optional/gst-plugins-bad.tcz.dep:libGLESv2.tcz
tc@box:~$

Offline thane

  • Hero Member
  • *****
  • Posts: 720
Re: librsvg.tcz update bug?
« Reply #7 on: November 15, 2025, 12:20:06 AM »
Thanks Rich. My Apps lists both libEGL.tcz and libGLESv2.tcz as not required by any other extensions, but it appears that evince.tcz and the desktop on my Thinkpad do need those extensions (or at least libraries from them) to function. I'll check my setup for the extensions you list. I'll also do the update that GNUser suggested. It could be something in my setup is out-of-date.

thane

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12309
Re: librsvg.tcz update bug?
« Reply #8 on: November 15, 2025, 09:58:00 AM »
Hi thane
... it appears that evince.tcz and the desktop on my Thinkpad do need those extensions (or at least libraries from them) to function. ...
Or their dependencies need them.
The previous command I posted relies on the  .so  link to libraries to be present.
Extensions that should not be linked against have them stripped out, leaving
only  .so.digit(s) , .so.digit(s).digit(s) , .so.digit(s).digit(s).digit(s). To further
complicate things, some extensions have only  .so  files with no version
numbers, like  mesa/usr/local/lib/dri/i915_dri.so.

This command filters out  .so.digit(s).digit(s) , .so.digit(s).digit(s).digit(s)  to
reduce output from the same libraries but allows  .so , .so.digit(s)  to be
processed by  readelf. I also had to escape the periods for grep:
Code: [Select]
for F in `find /tmp/tcloop/ | grep -vE "\.so\.[0-9]+\.[0-9]+$|\.so\.[0-9]+\.[0-9]+\.[0-9]+$"`; do readelf -d $F 2> /dev/null | grep '(NEEDED)' | grep -oE "libEGL|libGLES|libgbm" && echo $F; done
It will identify the dependency, executable, and extension.

libgbm (provided by libEGL.tcz) is required by crocus_dri.so which is in mesa.tcz:
Code: [Select]
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/crocus_dri.so

libEGL and libGLES are required by libcanberra-gtk-module.so which is in libcanberra.tcz:
Code: [Select]
libEGL
libGLES
/tmp/tcloop/libcanberra/usr/local/lib/gtk-2.0/modules/libcanberra-gtk-module.so

If you run this command on your machine, you can identify which extensions
actually depend on libEGL.tcz and/or libGLES.tcz.

Depending on the speed of your machine, this command may take a couple of minutes.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 15316
Re: librsvg.tcz update bug?
« Reply #9 on: November 15, 2025, 11:40:54 AM »
It's not obvious that evince is pulling in libEGL/GL/GLESv2 (I could be wrong).

What xserver and what desktop are you using?

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12309
Re: librsvg.tcz update bug?
« Reply #10 on: November 15, 2025, 12:41:07 PM »
Hi Juanito
Find which programs/libs on my machine depend on libEGL:
Code: [Select]
tc@box:~$ for F in `find /tmp/tcloop/ | grep -vE "\.so\.[0-9]+\.[0-9]+$|\.so\.[0-9]+\.[0-9]+\.[0-9]+$"`; do readelf -d $F 2> /dev/null | grep '(NEEDED)' | grep -qE "libEGL|libgbm" && echo $F >> EglDeps.txt; doneFind which programs/libs on my machine depend on libGLESv2:
Code: [Select]
tc@box:~$ for F in `find /tmp/tcloop/ | grep -vE "\.so\.[0-9]+\.[0-9]+$|\.so\.[0-9]+\.[0-9]+\.[0-9]+$"`; do readelf -d $F 2> /dev/null | grep '(NEEDED)' | grep -qE "libGLESv2" && echo $F >> Glesv2Deps.txt; done
Get list of extensions that depend on libEGL:
Code: [Select]
tc@box:~$ grep "/tmp/tcloop/" EglDeps.txt | cut -d '/' -f 4 | sort -u
gst-plugins-base
libEGL
libcanberra
mesa
mesa-demos
xorg-server
evince depends on  gst-plugins-base  but its .dep file does not include libEGL.
libEGL popped up because libEGL.so depends on libgbm.so which is part of libEGL.

Get list of extensions that depend on libGLESv2:
Code: [Select]
tc@box:~$ grep "/tmp/tcloop/" Glesv2Deps.txt | cut -d '/' -f 4 | sort -u
libcanberra
mesa-demos
None of these show up in evinces tree.

Offline thane

  • Hero Member
  • *****
  • Posts: 720
Re: librsvg.tcz update bug?
« Reply #11 on: November 15, 2025, 02:34:22 PM »
I'm using Xorg-7.7 (xorg-server). Desktop is flwm_topside.

thane