在 64 位 Ubuntu 上构建时如何 link 32 位 libGL.so?

how to link 32bit libGL.so when building on 64bit Ubuntu?

我已经设置了 Ubuntu 14.04LTS amd64 的全新全新安装。我正在尝试构建一个需要 link libGL.so 和 libGLU.so 的 32 位应用程序。当我尝试在 i386 架构中安装所需的开发包时,apt-get 说它必须卸载相应的 amd64 包?!

为什么?我不能同时为 32 位和 64 位安装 libglu1-mesa-dev 吗?显然它可以将其安装到 /usr/lib32 !

sudo apt-get install libglu1-mesa-dev:i386
...
The following extra packages will be installed:
  libcgmanager0:i386 libdbus-1-3:i386 libdrm-amdgpu1:i386 libdrm-dev:i386
  libgl1-mesa-dev:i386 libgl1-mesa-glx:i386 ...
The following packages will be REMOVED:
  freeglut3-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev
...
0 upgraded, 39 newly installed, 4 to remove and 0 not upgraded.
Need to get 1,595 kB of archives.
After this operation, 5,559 kB of additional disk space will be used

Ubuntu 包确实很不稳定。可以在 Ubuntu 错误 #949060 中找到解决方法:https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/949606