I believe this problem comes about because: libgl1-mesa-glx 8.0.5-3 has the library libGL.so.1.2: => dpkg --contents libgl1-mesa-glx_8.0.5-3_i386.deb drwxr-xr-x root/root 0 2012-12-06 17:23 ./ drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/ drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/lib/ drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/lib/i386-linux-gnu/ -rw-r--r-- root/root 363020 2012-12-06 17:22 ./usr/lib/i386-linux-gnu/libGL.so.1.2 <<<<<
while the newer libgl1-mesa-glx 9.1.6-2 has the library: => dpkg --contents /var/cache/apt/archives/libgl1-mesa-glx_9.1.6-2_i386.deb drwxr-xr-x root/root 0 2013-08-12 02:50 ./ drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/ drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/lib/ drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/lib/i386-linux-gnu/ -rw-r--r-- root/root 357692 2013-08-12 02:50 ./usr/lib/i386-linux-gnu/libGL.so.1.2.0 <<<<< drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/share/ glx-diversions postinst is checking for a final target of libGL.so.1.2 (not libGL.so.1.2.0) so it always fails when the newer libgl1-mesa-glx is installed: validate_diverted_symlink /usr/lib${triplet}libGL.so.1 /usr/lib/mesa-diverted${triplet}libGL.so.1 mesa/libGL.so.1 libGL.so.1.2 Perhaps the postinst script could check only that the link is owned by the package libgl1-mesa-glx; here is a piece of the postinst script showing the problem: + owner=libgl1-mesa-glx:i386: /usr/lib/i386-linux-gnu/libGL.so.1 <<<<< package installing an libGL.so.1 + [ -L /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 ] + [ -z libgl1-mesa-glx:i386: /usr/lib/i386-linux-gnu/libGL.so.1 ] + readlink /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 + link=libGL.so.1.2.0 <<<<< readlink -f of its libGL.so.1 + [ -L /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 ] + [ libGL.so.1.2.0 = mesa/libGL.so.1 ] + [ -L /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 ] + [ libGL.so.1.2.0 = libGL.so.1.2 ] + [ -L /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 ] + [ libGL.so.1.2.0 != libGL.so.1.2 ] + echo Removing diverted 'libGL.so.1' symlink with unexpected target 'libGL.so.1.2.0'. Removing diverted 'libGL.so.1' symlink with unexpected target 'libGL.so.1.2.0'.