New builds from the build-infra team

Vincent Ryan vincent.x.ryan at oracle.com
Fri Nov 2 09:38:44 PDT 2012


> From: Vincent Ryan <vincent.x.ryan at oracle.com>
> Subject: Re: New builds from the build-infra team
> Date: 2 November 2012 15:48:03 GMT
> To: build-infra-dev at openjdk.java.net
> 
> I tried this out on the latest Solaris 11 Update 1 (sparc) but the build encountered problems locating libc when
> building jdk. (BTW the old build works correctly, just slower)
> 
> :
> :
> strerror                            /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libhprof_jvmti/hprof_md.o  (symbol belongs to implicit dependency /lib/sparcv9/libc.so.1)
> vfprintf                            /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libhprof_jvmti/hprof_error.o  (symbol belongs to implicit dependency /lib/sparcv9/libc.so.1)
> fprintf                             /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libhprof_jvmti/hprof_init.o  (symbol belongs to implicit dependency /lib/sparcv9/libc.so.1)
> gethrvtime                          /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libhprof_jvmti/hprof_md.o  (symbol belongs to implicit dependency /lib/sparcv9/libc.so.1)
> ld: fatal: symbol referencing errors. No output written to /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/lib/sparcv9/libhprof.so
> gmake[3]: *** [/export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/lib/sparcv9/libhprof.so] Error 1
> gmake[3]: Leaving directory `/export/home/vinryan/jdk8-master/jdk/makefiles'
> gmake[2]: *** [libs-only] Error 2
> gmake[2]: Leaving directory `/export/home/vinryan/jdk8-master/jdk/makefiles'
> make[1]: *** [jdk-only] Error 2
> make[1]: Leaving directory `/export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release'
> make: *** [all] Error 2
> t4%
> 
> 
> 
> 
> FYI I've attached the config script that was generated by configure.sh.
> 
> 
> 
> 
> On 1 Nov 2012, at 18:38, Kelly O'Hair wrote:
> 
>> 
>> Pardon the wide email, but this impacts everyone building the OpenJDK jdk8/jdk8 derived forests.
>> 
>> Please only reply to the build-infra-dev mailing list, or just me.
>> 
>> With some recent integrations from the build-infra project into jdk8/jdk8 repositories, the build-infra team
>> would like to get more exposure of the new builds. These jdk8/jdk8 changes will start showing up in various
>> jdk8 and team forests over the next few weeks. The default is still the old builds, but both builds work in most
>> cases for OpenJDK as far as we know.
>> 
>> At a very high level, the intent is that once you get a forest:
>> hg clone http://hg.openjdk.java.net/jdk8/jdk8    j8
>> cd j8
>> sh ./get_source.sh
>> 
>> You should be able to simply configure&&make (the ultimate goal is this simple anyway), e.g.
>>  sh ./configure
>>  make NEWBUILD=true     # The NEWBUILD=true will become the default when we formally switch.
>> 
>> Where "make" is GNU make 3.81, and your system has all the requires packages and PATH contains the
>> needed tools. Note that on Windows, MKS unix utilities cannot be used with the new builds, just CYGWIN
>> is recommended at this time.
>> 
>> Of course, we know, it's never as easy as a simple configure&&make, and often you will need to pass in
>> configure options.
>> 
>> What we would like to know is where a simple configure&&make does not work, and anything people had
>> to do to make it work.
>> 
>> I know many of you are quite used to the old builds, so I have a temporary  "bridgeBuild" target
>> people can try that will attempt to map the ALT_* environment variables to an appropriate configure command
>> and then run that configure command and do the build, e.g.
>> 
>> make NEWBUILD=true bridgeBuild
>> 
>> People willing to do comparisons between the old and new builds could:
>> rm -f -r build
>> time make NEWBUILD=true bridgeBuild
>> rm -f -r build
>> time make NO_DOCS=true     # Old builds do not generate javadocs by default
>> 
>> Any observations about speed of the builds would be appreciated, as will any impressions on what you see.
>> 
>> At this time, we think this is working pretty well with a few caveats:
>> * GNU make with the new builds is doing much more parallel processing and this can stress out a system
>>   - Use "make JOBS=1" if you suspect a problem, then try adjusting it up slowly.
>> * Partial builds are limited, right now full builds of the entire OpenJDK is the target
>>   - Hotspot can still be built on it's own, but everyone else needs to build hotspot at least once
>> * Paths with multiple names can cause problems, e.g. being on system svc6, and access an exported share
>>   area as /net/svc6/export/foobar  instead of /export/foobar  will cause problems. Use local paths.
>> 
>> We know there are still issues and we will be focusing heavily on the critical ones in the next few weeks, but
>> we do need the community to tell us what the critical issues really are.
>> 
>> Our number one priority at this time is that everyone that was able to build the old way, should be able to build
>> with the new build-infra makefiles. Please help us verify that.
>> 
>> -kto
>> 
> 




More information about the build-infra-dev mailing list