Created attachment 120007 [details]
[PATCH] i965: don't underlink i965_dri.so, causes miserable failure on musl libc
musl libc doesn't like lazy binding, which i965_dri.so depends on to load correctly in Xorg. As such, it is underlinked and doesn't load because of linking issues on musl libc.
More information: http://wiki.musl-libc.org/wiki/Functional_differences_from_glibc#Lazy_bindings
I don't think dri drivers can link directly to libglapi. Cc'ing Emil.
(In reply to Matt Turner from comment #1)
> I don't think dri drivers can link directly to libglapi. Cc'ing Emil.
In theory there should be no problems when combined with recent enough (don't recall the date/release) xserver/libglx. Priorly libglx was providing the symbols, as it was copying a ton of the gl dispatch from mesa. Nowadays it links against libGL and relies on it to handle things.
On the whole topic I've been leaning towards:
- folding the static glapi only for special users (osmesa, libgl-xlib)
- "forcing" everyone else to shared one and dropping the configure switch
- figuring some deprecation period and/or experimentally adding the libglapi link to the dri modules.
I'm leaning that foo_dri.so linked with libglapi and old xserver should still work, although that is to be tested.
All that aside: albeit not ideal, some libraries need to stay underlinked. Musl devs should seriously reconsider and add support for it.
ajax probably has an opinion.