New builds from the build-infra team

Vincent Ryan vincent.x.ryan at oracle.com
Wed Nov 7 11:13:45 PST 2012


It's a SPARC T4-1.

On 7 Nov 2012, at 17:58, Kelly O'Hair wrote:

> Fantastic, I see Erik grabbed the patch, thank you!
> 
> Just for my own information, what kind of Solaris SPARC hardware is this, or is it a Zone?
> I'm not sure I have see an OpenJDK build this fast on the SPARC Zones I have been given access to.
> 
> -kto
> 
> On Nov 6, 2012, at 5:24 PM, Vincent Ryan wrote:
> 
>> I finally have a clean build of http://hg.openjdk.java.net/build-infra/jdk8 on Solaris 11.1 Sparc and the times for a full build
>> are not too shabby:
>> 
>> 00:00:34 corba
>> 00:04:14 hotspot
>> 00:00:29 jaxp
>> 00:00:40 jaxws
>> 00:03:19 jdk
>> 00:00:38 langtools
>> 00:09:54 TOTAL
>> 
>> The fix involves adding '-lc' to LDFLAGS for almost every native
>> library in CompileNativeLibraries.gmk. There may be a more elegant fix
>> but this one works for me...
>> 
>> 
>> 
>> 
>> diff --git a/makefiles/CompileNativeLibraries.gmk b/makefiles/CompileNativeLibraries.gmk
>> --- a/makefiles/CompileNativeLibraries.gmk
>> +++ b/makefiles/CompileNativeLibraries.gmk
>> @@ -300,6 +300,7 @@ endif
>>                        $(call SET_SHARED_LIBRARY_ORIGIN),\
>>               LDFLAGS_SUFFIX:=$(BUILD_LIBMLIB_LDLIBS) \
>>                               $(LDFLAGS_JDKLIB_SUFFIX),\
>> +               LDFLAGS_SUFFIX_solaris:=-lc, \
>> VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
>>               RC_FLAGS:=$(RC_FLAGS)\
>>                         -D "JDK_FNAME=mlib_image.dll" \
>> @@ -428,6 +429,7 @@ BUILD_LIBMLIB_V_CFLAGS := $(filter-out -
>>               LDFLAGS:=$(LDFLAGS_JDKLIB) \
>>                         $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
>>                        $(call SET_SHARED_LIBRARY_ORIGIN),\
>> +               LDFLAGS_SUFFIX_solaris:=-lc, \
>>               OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v))
>> 
>> $(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA)
>> @@ -710,7 +712,7 @@ endif
>>               LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
>> LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
>>               LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\
>> -               LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava,\
>> +               LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\
>>               LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \
>>                                      -framework Cocoa \
>>                                      -framework OpenGL \
>> @@ -966,7 +968,7 @@ endif
>>                                -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
>>                                $(WIN_JAVA_LIB),\
>>               LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
>> -               LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ),\
>> +               LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
>>               LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
>> VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
>>               RC_FLAGS:=$(RC_FLAGS)\
>> @@ -1144,7 +1146,7 @@ endif # OPENJDK_TARGET_OS
>>               LDFLAGS:=$(LDFLAGS_JDKLIB) \
>>                        $(call SET_SHARED_LIBRARY_ORIGIN),\
>>               LDFLAGS_SUFFIX_linux:=$(LIBDL),\
>> -               LDFLAGS_SUFFIX_solaris:=$(LIBDL),\
>> +               LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\
>>               LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
>>               LDFLAGS_SUFFIX:=,\
>> VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
>> @@ -1187,6 +1189,7 @@ endif
>>               LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
>>               LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
>>               LDFLAGS_SUFFIX:=,\
>> +               LDFLAGS_SUFFIX_solaris:=-lc,\
>>               EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
>> VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
>>               RC_FLAGS:=$(RC_FLAGS) \
>> @@ -1217,6 +1220,7 @@ BUILD_LIBRARIES += $(BUILD_LIBJAAS)
>>               LDFLAGS_SUFFIX_linux:=$(LIBDL),\
>>               LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
>>               LDFLAGS_SUFFIX_macosx:=                         $(LIBDL),\
>> +               LDFLAGS_SUFFIX_solaris:=-lc,\
>>               LDFLAGS_SUFFIX:=,\
>> VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
>>               RC_FLAGS:=$(RC_FLAGS)\
>> @@ -1259,7 +1263,7 @@ ifdef OPENJDK
>>                         $(call SET_SHARED_LIBRARY_ORIGIN), \
>> LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
>>               LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
>> -               LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm,\
>> +               LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
>>               LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
>>               LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
>> VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
>> @@ -1716,7 +1720,7 @@ endif
>>                               -framework Cocoa -framework Security -framework ApplicationServices,\
>>               LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
>>               LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
>> -               LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
>> +               LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
>>               LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
>> VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
>>               RC_FLAGS:=$(RC_FLAGS)\
>> @@ -1858,6 +1862,7 @@ BUILD_LIBRARIES += $(BUILD_LIBHPROF)
>> MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
>>               LDFLAGS:=$(LDFLAGS_JDKLIB) \
>>                        $(call SET_SHARED_LIBRARY_ORIGIN),\
>> +               LDFLAGS_SUFFIX_solaris:=-lc, \
>> VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
>>               RC_FLAGS:=$(RC_FLAGS)\
>>                         -D "JDK_FNAME=java_crw_demo.dll" \
>> @@ -2488,7 +2493,7 @@ endif
>>               LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
>>               LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
>> -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
>> - -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
>> + -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lc,\
>>               LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
>>               REORDER:=$(LIBAWT_HEADLESS_REORDER), \
>>               LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
>> @@ -2662,6 +2667,7 @@ endif # OPENJDK_TARGET_OS
>>               LDFLAGS:=$(LDFLAGS_JDKLIB) \
>>                        $(call SET_SHARED_LIBRARY_ORIGIN),\
>>               LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
>> +               LDFLAGS_SUFFIX_solaris:=-lc,\
>> VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
>>               RC_FLAGS:=$(RC_FLAGS)\
>>                         -D "JDK_FNAME=splashscreen.dll" \
>> @@ -2737,6 +2743,7 @@ endif
>>                        $(call SET_SHARED_LIBRARY_ORIGIN),\
>>               LDFLAGS_SUFFIX_posix:=$(LIBDL), \
>>               LDFLAGS_SUFFIX_windows:=winscard.lib,\
>> +               LDFLAGS_SUFFIX_solaris:=-lc,\
>> VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
>>               RC_FLAGS:=$(RC_FLAGS)\
>>                         -D "JDK_FNAME=j2pcsc.dll" \
>> @@ -2764,6 +2771,7 @@ ifneq ($(OPENJDK_TARGET_OS), windows)
>>               LDFLAGS:=$(LDFLAGS_JDKLIB) \
>>                        $(call SET_SHARED_LIBRARY_ORIGIN),\
>>               LDFLAGS_SUFFIX:=$(LIBDL), \
>> +               LDFLAGS_SUFFIX_solaris:=-lc,\
>>               OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss))
>> 
>> BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
>> @@ -2858,6 +2866,7 @@ endif
>>               LDFLAGS:=$(LDFLAGS_JDKLIB) \
>>                        $(call SET_SHARED_LIBRARY_ORIGIN),\
>>               LDFLAGS_SUFFIX_posix:=$(LIBDL), \
>> +               LDFLAGS_SUFFIX_solaris:=-lc, \
>> VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
>>               RC_FLAGS:=$(RC_FLAGS)\
>>                         -D "JDK_FNAME=j2pkcs11.dll" \
>> 
>> 
>> 
>> 
>> 
>> On 06/11/2012 18:10, Kelly O'Hair wrote:
>>> 
>>> On Nov 6, 2012, at 9:34 AM, Vincent Ryan wrote:
>>> 
>>>> I picked up the 2 changesets that were pushed over the weekend. The build makes more
>>>> progress but it still fails due to missing C lib. I guess there are a few more corner cases.
>>>> 
>>>> Is there a way to activate more debugging during the build? I'd like to examine the exact
>>>> compiler flags that are in use when the failure occurs.
>>> 
>>> Use
>>> 
>>>   gmake LOG=debug
>>> 
>>> -kto
>>> 
>>>> 
>>>> 
>>>> 
>>>> On 6 Nov 2012, at 16:33, Kelly O'Hair wrote:
>>>> 
>>>>> If you get a chance, could you try this experiment again with the latest in jdk8/build forest?
>>>>> I fixed a few more libraries that I think had a missing -lc.
>>>>> 
>>>>> I don't have access to a Solaris SPARC 11.1 system, and so far the issues you have run into seem to
>>>>> be unique to SPARCV9 builds on 11.1, the Solaris X64 11.1 systems I have access to don't seem to reproduce this issue.
>>>>> I can only assume that the compiler or the system behaves differently between SPARCV9 and X64 on 11.1. :^(
>>>>> 
>>>>> -kto
>>>>> 
>>>>> On Nov 2, 2012, at 1:08 PM, Vincent Ryan wrote:
>>>>> 
>>>>>> Thanks Kelly.
>>>>>> 
>>>>>> I re-ran the build with your patch and got better results but there
>>>>>> seems to be another linker problem later in the jdk build.
>>>>>> 
>>>>>> Here's the tail of the build output:
>>>>>> 
>>>>>> :
>>>>>> :
>>>>>> Undefined                       first referenced
>>>>>> symbol                             in file
>>>>>> free /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> __iob /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> abort /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> snprintf /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> calloc /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> malloc /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> memcpy /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> memset /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> strcmp /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> strlen /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> realloc /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> strncmp /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> fprintf /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libjava_crw_demo/java_crw_demo.o
>>>>>> ld: fatal: symbol referencing errors. No output written to /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/lib/sparcv9/libjava_crw_demo.so
>>>>>> gmake[3]: *** [/export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/lib/sparcv9/libjava_crw_demo.so] Error 1
>>>>>> gmake[3]: *** Waiting for unfinished jobs....
>>>>>> Undefined                       first referenced
>>>>>> symbol                             in file
>>>>>> exit /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/npt.o
>>>>>> free /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/npt.o
>>>>>> __iob /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/npt.o
>>>>>> abort /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/utf.o
>>>>>> iconv /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/utf_md.o
>>>>>> __ctype /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/utf.o
>>>>>> iconv_open /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/utf_md.o
>>>>>> calloc /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/npt.o
>>>>>> memcpy /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/utf_md.o
>>>>>> strcmp /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/npt.o
>>>>>> strdup /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/npt.o
>>>>>> strlen /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/utf.o
>>>>>> nl_langinfo /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/utf_md.o
>>>>>> sprintf /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/utf.o
>>>>>> setlocale /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/utf_md.o
>>>>>> iconv_close /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/utf_md.o
>>>>>> fprintf /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/objs/libnpt/npt.o
>>>>>> ld: fatal: symbol referencing errors. No output written to /export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/lib/sparcv9/libnpt.so
>>>>>> gmake[3]: *** [/export/home/vinryan/jdk8-master/build/solaris-sparcv9-normal-server-release/jdk/lib/sparcv9/libnpt.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%
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On 02/11/2012 18:38, Kelly O'Hair wrote:
>>>>>>> 
>>>>>>> On Nov 2, 2012, at 11:17 AM, Vincent Ryan wrote:
>>>>>>> 
>>>>>>>> That attachment got dropped when I re-sent my message (previously I wasn't a member of the build-infra-dev email alias). I've attached it again in case it proves useful.
>>>>>>>> 
>>>>>>>> <config.status>
>>>>>>>> 
>>>>>>>> 
>>>>>>>> I realize Solaris 11 is not an official build platform for JDK8 but I thought I'd give it a spin on a reasonably
>>>>>>>> beefy server.
>>>>>>> 
>>>>>>> It's great that you tried this, thanks.
>>>>>>> 
>>>>>>> As far as I can tell, this seems to be a sparcv9 Solaris 11.1 issue, because I tried Solaris 11.1 X64 and it worked fine.
>>>>>>> However, the link of libhprof.so IS missing the -lc option.
>>>>>>> So why sparcv9 would complain and amd64 would not is a bit puzzling.
>>>>>>> 
>>>>>>> The change I think needs to be made is:
>>>>>>> 
>>>>>>> diff --git a/makefiles/CompileNativeLibraries.gmk b/makefiles/CompileNativeLibraries.gmk
>>>>>>> --- a/makefiles/CompileNativeLibraries.gmk
>>>>>>> +++ b/makefiles/CompileNativeLibraries.gmk
>>>>>>> @@ -1807,7 +1807,7 @@
>>>>>>> BUILD_LIBHPROF_LDFLAGS:=
>>>>>>> 
>>>>>>> ifeq ($(OPENJDK_TARGET_OS),solaris)
>>>>>>> -     BUILD_LIBHPROF_LDFLAGS += -lsocket -lnsl
>>>>>>> +     BUILD_LIBHPROF_LDFLAGS += -lsocket -lnsl -lc
>>>>>>> endif
>>>>>>> 
>>>>>>> LIBHPROF_OPTIMIZATION:=HIGHEST
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> But I have not tested it yet.
>>>>>>> Did you want to give this patch a spin?
>>>>>>> 
>>>>>>> -kto
>>>>>>> 
>>>>>>>> Thanks.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 2 Nov 2012, at 17:45, Kelly O'Hair wrote:
>>>>>>>> 
>>>>>>>>> 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