Commit d5ac23647110fd530f9bf5002762587be446866d removed these options claiming that they were broken and used only in association with mangling symbols. This is incorrect. I added the options in commit f3cdcb839f534a3062864b06ec6689717ed102a1 with a commit message explaining they are not associated with symbol mangling. I've been using the options for years and they work well. The suggested alternative of renaming libraries manually is not as easy as claimed. The reason for mangling the library name is so that the SONAME field is not just 'libGL.so.1'. The goal is to ensure that the mesa library is used at runtime and not some other libGL by accident. A simple file rename does not change the soname.
See also commit 27382c0f7ba2ae826531ba4c254741b2a9df1882.
You're correct - the SONAME does stay intact. One could trivially change that with patchelf. Let's take a look at the following combinations: 1) standard vs GLVND names: GL symbols: standard 2) GLVND names: GLX_mesa symbols: (should be) limited set != standard 3) mangling name: Mangled + (GL, GLX_mesa?) symbols: standard prefixed with m 4) arbitrary name name: ?? does it it interact with mangled and/or GLVND? symbols: standard - how do we ensure no symbol collision? That said, an arbitrary name many have worked in a particular combination, but the rest were broken :-( Attempting to have all the cases working is O(N), while 4) is a rm && patchelf, post-install. Can see that being slightly annoying, but I hope you'll agreed on the goal.
> an arbitrary name many have worked in a particular combination Yes, I use: ./autogen.sh \ --prefix="$prefix" \ --disable-dri \ --disable-egl \ --disable-gbm \ --disable-gles1 \ --disable-gles2 \ --disable-shared-glapi \ --with-platforms=x11 \ --enable-glx=gallium-xlib \ --enable-gallium-osmesa \ --with-gallium-drivers=swrast \ --enable-gallium-llvm=yes \ LLVM_CONFIG=$llvm_config \ --enable-llvm-shared-libs \ --with-gl-lib-name=$gl_name \ --with-osmesa-lib-name=$osmesa_name > but the rest were broken Ah, okay. > is a rm && patchelf, post-install. In principle 'lib/pkgconfig/*.pc' and 'lib/*.la' need to be updated too but I don't need those for my use case. I've updated my scripts to rename post-install, patchelf, and revise symlinks.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.