New builds from the build-infra team

Erik Joelsson erik.joelsson at oracle.com
Wed Nov 7 01:01:19 PST 2012


I will try these changes and see if they have any impact on our old vs 
new build comparison. Thanks for the patch!

/Erik

On 2012-11-07 02:24, 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