New builds from the build-infra team

Kelly O'Hair kelly.ohair at oracle.com
Fri Nov 2 10:45:21 PDT 2012


The attachment is missing.

This looks like the  -lc   is missing from the creation of hprof, we should never let libc be an implicit dependency.

I wonder if Solaris 11.1 has tightened up the rules on implicit dependencies. We have not seen this on Solaris 10.
We just got svc6 setup as a 11.1 system, I'll see if it reproduces there.

And thank you for reporting this. Although Solaris 11.1 is not one of our critical systems, it's very important that this works.

-kto

On Nov 2, 2012, at 9:38 AM, Vincent Ryan wrote:

>> 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