Thursday, September 19, 2019

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



I have set up a brand new clean install of Ubuntu 14.04LTS amd64. I'm trying to build a 32bit application that needs to link libGL.so and libGLU.so. When I try to install the needed dev-packages in i386 architecture, apt-get says it has to uninstall the respective amd64 packages?!



Why? Can't I have libglu1-mesa-dev installed for both 32bit and 64bit at the same time? Clearly it could install it into /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

Answer



The Ubuntu packages are indeed wonky. The work-around can be found in Ubuntu Bug #949060: https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/949606


No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...