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:
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; doneIt will identify the dependency, executable, and extension.
libgbm (provided by libEGL.tcz) is required by crocus_dri.so which is in mesa.tcz:
libgbm
/tmp/tcloop/mesa/usr/local/lib/dri/crocus_dri.solibEGL and libGLES are required by libcanberra-gtk-module.so which is in libcanberra.tcz:
libEGL
libGLES
/tmp/tcloop/libcanberra/usr/local/lib/gtk-2.0/modules/libcanberra-gtk-module.soIf 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.