Chris hypothesizes on IRC that it may be related to libgl1-mesa-glx having a Conflicts/Replaces/Provides libgl1, and apt not knowing the right way to handle that. Looking back, I see that linux-libc-dev has the same thing for virtual package "linux-kernel-headers". dpkg special-cases this kind of self-conflicts between multi-arch packages of different architectures; apt might need to as well.
$ sudo apt-get install libgl1-mesa-glx:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
gcc-4.6-base:i386 libc6:i386 libdrm2:i386 libgcc1:i386 libglapi-mesa:i386
libx11-6:i386 libxau6:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386
libxext6:i386 libxfixes3:i386 libxxf86vm1:i386
Suggested packages:
glibc-doc:i386 locales:i386
Recommended packages:
libgl1-mesa-dri:i386
The following NEW packages will be installed:
gcc-4.6-base:i386 libc6:i386 libdrm2:i386 libgcc1:i386 libgl1-mesa-glx:i386
libglapi-mesa:i386 libx11-6:i386 libxau6:i386 libxcb1:i386 libxdamage1:i386
libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxxf86vm1:i386
0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/4920 kB of archives.
After this operation, 13.5 MB of additional disk space will be used.
Do you want to continue [Y/n]?
E: Internal Error, Could not early remove libgl1-mesa-glx
Reproduced for libgl1- mesa-glx: i386.
Chris hypothesizes on IRC that it may be related to libgl1-mesa-glx having a Conflicts/ Replaces/ Provides libgl1, and apt not knowing the right way to handle that. Looking back, I see that linux-libc-dev has the same thing for virtual package "linux- kernel- headers" . dpkg special-cases this kind of self-conflicts between multi-arch packages of different architectures; apt might need to as well.
$ sudo apt-get install libgl1- mesa-glx: i386 mesa-dri: i386 mesa-glx: i386 mesa:i386 libx11-6:i386 libxau6:i386 libxcb1:i386 libxdamage1:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
gcc-4.6-base:i386 libc6:i386 libdrm2:i386 libgcc1:i386 libglapi-mesa:i386
libx11-6:i386 libxau6:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386
libxext6:i386 libxfixes3:i386 libxxf86vm1:i386
Suggested packages:
glibc-doc:i386 locales:i386
Recommended packages:
libgl1-
The following NEW packages will be installed:
gcc-4.6-base:i386 libc6:i386 libdrm2:i386 libgcc1:i386 libgl1-
libglapi-
libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxxf86vm1:i386
0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/4920 kB of archives.
After this operation, 13.5 MB of additional disk space will be used.
Do you want to continue [Y/n]?
E: Internal Error, Could not early remove libgl1-mesa-glx