On 01.06.2019 22:06, coypu%sdf.org@localhost wrote:
> Hi folks,
>
> Part of the OPENGL ABI FOR LINUX hard-codes major numbers.
> https://www.khronos.org/registry/OpenGL/ABI/#3
> https://github.com/aritger/linux-opengl-abi-proposal/blob/master/linux-opengl-abi-proposal.txt
> This is batshit crazy, but often a hard-coded reality.
>
> We treated libGL as not unusual and major bumped it when it got affected
> by other changes.
>
> We keep paying the cost where some program doesn't have graphical
> acceleration working, someone will keep looking, and it'll turn out to
> be that it looks for libGL.so.1 and not libGL.so.
>
> https://github.com/NetBSD/pkgsrc/blob/c62afd8b057a4524a87a2e08c2c4972b9231a3c0/devel/SDL/patches/patch-ac
> https://github.com/NetBSD/pkgsrc/blob/c62afd8b057a4524a87a2e08c2c4972b9231a3c0/graphics/cogl/patches/patch-configure
> https://github.com/NetBSD/pkgsrc/blob/3b8f0688a4b1a5db72c6c041f640f31a7ef52cdf/graphics/libepoxy/patches/patch-src_dispatch__common.c
>
> Thoughts on undoing this, and going back to the 'recommended' major
> numbers?
>
> That is:
> libEGL major 0->1
> libGLU major 3->1
> libGL major 3->1
>
> (perhaps marking the newer major obsolete?)
> (It also hard-codes /usr/lib, but that hasn't been as painful)
>
Good catch.
We can grep most of versioned users with https://codesearch.debian.net
criticalmass/work/CriticalMass-1.0.2 $ grep -r libGL.so .
./game/Video.cpp: if( ! ::init("libGL.so.1"))
Patching these projects seems feasible.
I have no strong opinion on resetting major numbers.. but it looks more
like a portability problem in applications.
Attachment:
signature.asc
Description: OpenPGP digital signature