I want to use an ancient piece of software (Unreal Tournament "Classic" from 1999, also known as UT99). The dynamic library libtxc_dxtn.so
is implicitly loaded, probing for optional S3 texture compression (S3TC) support. Unfortunately, upon loading the library, the main application crashes with a segmentation fault (crash also described here). A workaround seems to be removing the texture compression library for Mesa by deleting or moving libtxc_dxtn.so
. The application runs perfectly fine without texture compression, but of course other applications which demand texture compression support are now broken. Naturally, I do not want to modify my system for one specific application.
So my question is:
Can I prevent (as in "mask" or "disable") a specific dynamic library from being loaded by a specific application? I hope to find something like the opposite of LD_PRELOAD
.
Update: libtxc_dxtn.so
is implicitly and indirectly loaded. Modifying the application binary is not feasible.
initialize program: ut-bin
file=libSDL-1.1.so.0 [0]; needed by ut-bin [0]
file=libGL.so.1 [0]; dynamically loaded by libSDL-1.1.so.0 [0]
file=i965_dri.so [0]; dynamically loaded by libGL.so.1 [0]
file=libtxc_dxtn.so [0]; dynamically loaded by i965_dri.so [0]