New builds from the build-infra team

Anthony Petrov anthony.petrov at oracle.com
Fri Nov 9 06:22:51 PST 2012


On 11/8/2012 7:41 AM, David Holmes wrote:
> On 8/11/2012 6:22 AM, Kelly O'Hair wrote:
>> On Nov 7, 2012, at 6:16 AM, Anthony Petrov wrote:
>>> 2. What is the ./build/linux-x86-normal-server-release directory, and 
>>> why is it not ./build/linux-i586 ? What does 'normal' stand for? The 
>>> same question about the 'server' part.
>>>
>>
>> The configure allows for many variations on builds, and the basic 
>> variation is put into the directory name.
>>
>> I have been tempted to soft link linux-i586 to 
>> linux-x86-normal-server-release or whatever linux-x86-*name is generated
>> (assuming only one exists), but it gets a little complicated.
> 
> A couple of comments on this. As Kelly says a "configuration" can be set 
> up to build a range of different, well, configurations, and the default 
> output name reflects what you have chosen (directly or implicitly).
> 
> The "normal" is in contrast to "embedded" (which of course is not 
> applicable to OpenJDK builds). When the conversion was first started the 
> embedded build support was in the open and so two JDK variants were 
> defined. Now that the embedded build support is in the closed repo we 
> still need two variants but people only using open repos can't see there 
> is any alternative to "normal".
> 
> The "server" part is important as it indicates what flavor(s) of hotspot 
> this configuration will build. By default (why?) only the server VM is 
> built - whereas in the old build both client and server are built. So 
> you need to add --with-jvm-variant=client,server if you want both.
> 
> The "release" indicates a product build as opposed to fastdebug, for 
> example.

Thanks for the insight. Now it's clear. I can live with the new 
directory names.


> Personally I never let configure define or name the output directory. My 
> preferred approach is (via scripts) to do:
> 
> mkdir <output-dir>
> cd <output-dir>
> bash <path-to-configure> configure.sh <options>
> 
> There may also be a configure option to name the output directory 
> explicitly.

And I'm on the opposite side here, preferring to pass no 
options/environment variables to the configure/make commands at all.


>>> 3. I get the following error and the build stops:
> 
> This might not be relevant but you need to be careful if you are 
> building 32-bit on an x64 machine. If you do that you need to pass 
> --with-target-bits=32. Otherwise the default build on x64 is 64-bit.

Thanks, that's useful to know, but no, in my case both the system and 
the builds are 32-bit.

--
best regards,
Anthony



More information about the build-infra-dev mailing list