How to build 32-bit builds on 64-bit Ubuntu

Kelly Ohair kelly.ohair at oracle.com
Tue Oct 30 07:54:54 PDT 2012


keep in mind that a closed build will be different than an openjdk build with regards to X11 dependences


Sent from my iPhone

On Oct 30, 2012, at 6:10, Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com> wrote:

> On 2012-10-30 05:03, David Holmes wrote:
>> Hi Magnus,
>> 
>> On 30/10/2012 1:59 AM, Magnus Ihse Bursie wrote:
>>> I was asked to document how to build 32-bit builds on 64-bit Ubuntu.
>>> 
>>> You need to install three packages:
>>> sudo apt-get install libc6-dev-i386 lib32stdc++6 ia32-libs
>> 
>> We also had to do:
>> 
>> apt-get install libxext-dev:i386 libxrender-dev:i386 libxtst-dev:i386
>> 
>> for X11. But these are the 32-bit libs that broke their 64-bit counterparts. I don't know exactly which one is to blame, or whether it has now been fixed upstream. We have had a lot of problems trying to install 32-bit libraries on these Ubuntu systems.
> Yeah, I can imagine. If I understand apt-get correctly, you are forcing install of 32-bit libraries as if it were a 32-bit system you installed on.
> 
> The libxext and libxtst packages seems to provide two .a files. Are these really needed? libxrender-dev provides libXrender.so, but the 32-bit version is provided in usr/lib32/libXrender.so by the package ia32-libs. That was all that I needed to install to be able to build for X11. (Without it, I could still build headless only).
> 
> This might of course have changed from one Ubuntu release to another. I am using 11.04 Natty. (I know, it's really old, but I haven't been comfortable switching to Unity.)
> 
> 
>> 
>>> However, these are broken, and do not place proper symlinks. (This is a
>>> bug that should probably be reported upstream to Ubuntu, if anyone
>>> bothers...). Therefore, you also need to do:
>>> sudo ln -s /usr/lib32/libstdc++.so.6 /usr/lib32/libstdc++.so
>>> sudo ln -s /usr/lib32/libasound.so.2 /usr/lib32/libasound.so
>> 
>> We have not had to do this AFAIK for our servers. At least for libasound there is an asound-dev package that has to be installed. It may be lib32asound-dev (can't check as the build servers are offline due to the storm).
> 
> You are indeed correct, I had installed lib32asound2 and forgot about it. I also have lib32gcc1 installed, but I don't remember if I did that manually to support building reduced OpenJDK builds.
> 
> /Magnus
> 



More information about the build-infra-dev mailing list