I have posted this issue years (?) ago and even opened a ticket at the debian fglrx packet maintainer.
Whatever the cause, it is STILL not fixed:
When using opengl/opencl interop, the opencl library apparently dlopens libGL.so, whereas my application is linked against libGL.so.1.
But /usr/lib/x86_64-linux-gnu/libGL.so and libGL.so.1 are different binaries.
This eventually leads to a crash (X error).
Every time i do an upgrade of packages, i have to manually link libGL.so to libGL.so.1 so that my application works again.
PLEASE AMD: You are not supposed to dlopen("libGL.so"), use dlopen("libGL.so.1")!
By the way, why do you have to open libGL again at all? If i have an application does gl/cl interop than it has to be linked to the correct libGL anyway. Otherwise it couldn't provide the context information ...