Cannot build OpenJDK8

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Thu Oct 24 09:56:31 UTC 2013


On 2013-10-24 11:41, David Holmes wrote:
> On 24/10/2013 4:17 PM, Raahul Kumar wrote:
>> Output of make --trace
> ... <humungous amount of unnecessary stuff deleted>
>> /usr/bin/mkdir -p
>> /home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot
>> (cd /home/rkumar/openjdk8/hotspot/make && /usr/bin/make -s VERBOSE="-s"
>> LOG_LEVEL="warn" -R -I /home/rkumar/openjdk8/common/makefiles -j1
>> product  docs export_product STATIC_CXX=true
>> SPEC=/home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot-spec.gmk 
>>
>> BASE_SPEC=/home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/spec.gmk) 
>>
>> Makefile:167: target 'product' does not exist
>> cd /home/rkumar/openjdk8/hotspot/make; \
>> /usr/bin/make -s VERBOSE="-s" LOG_LEVEL="warn" -R -I
>> /home/rkumar/openjdk8/common/makefiles
>> BUILD_DIR=/home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2 
>>
>> BUILD_FLAVOR=product VM_TARGET=product generic_build2
>> ALT_OUTPUTDIR=/home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot 
>>
>> Makefile:216: update target 'generic_build2' due to:
>> /home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/hotspot 
>>
>> mkdir -p
>> /home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot
>> cd 
>> /home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot; 
>> \
>>      /usr/bin/make -s VERBOSE="-s" LOG_LEVEL="warn" -R -I
>> /home/rkumar/openjdk8/common/makefiles -f
>> /home/rkumar/openjdk8/hotspot/make/linux/Makefile \
>>             LP64=1 BOOTDIR=/usr/lib/jvm/java-7-openjdk
>> OUTPUTDIR=/home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot 
>>
>> GAMMADIR=/home/rkumar/openjdk8/hotspot MAKE_VERBOSE=y
>> HOTSPOT_RELEASE_VERSION=25.0-b55
>> JRE_RELEASE_VERSION=1.8.0-internal-rkumar_2013_10_24_14_28-b00
>> HOTSPOT_BUILD_VERSION= product
>> /home/rkumar/openjdk8/hotspot/make/linux/Makefile:289: update target
>> 'product' due to: linux_amd64_compiler2/debug
>> linux_amd64_compiler2/fastdebug linux_amd64_compiler2/optimized
>> linux_amd64_compiler2/product
>> cd linux_amd64_compiler2/product && /usr/bin/make -s VERBOSE="-s"
>> LOG_LEVEL="warn" -R -I /home/rkumar/openjdk8/common/makefiles -rRs
>> --trace " LP64=1 "
>> /home/rkumar/openjdk8/hotspot/make/linux/makefiles/top.make:91: update
>> target 'ad_stuff' due to:
>> /home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/../generated/platform.current 
>>
>> /home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/../generated/adjust-mflags 
>>
>> /usr/bin/make -s VERBOSE="-s" LOG_LEVEL="warn" -R -I
>> /home/rkumar/openjdk8/common/makefiles -f adlc.make -r
>> `/home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/../generated/adjust-mflags 
>>
>> "-rRs -I/home/rkumar/openjdk8/common/makefiles
>> -I/home/rkumar/openjdk8/common/makefiles
>> -I/home/rkumar/openjdk8/common/makefiles
>> -I/home/rkumar/openjdk8/common/makefiles
>> -I/home/rkumar/openjdk8/common/makefiles --trace" "1"`
>> /home/rkumar/openjdk8/hotspot/make/linux/makefiles/top.make:91: recipe
>> for target 'ad_stuff' failed
>> /home/rkumar/openjdk8/hotspot/make/linux/Makefile:289: recipe for target
>> 'product' failed
>> Makefile:216: recipe for target 'generic_build2' failed
>> Makefile:167: recipe for target 'product' failed
>> HotspotWrapper.gmk:44: recipe for target
>> '/home/rkumar/openjdk8/build/linux-x86_64-normal-server-release/hotspot/_hotspot.timestamp' 
>>
>> failed
>> /home/rkumar/openjdk8//common/makefiles/Main.gmk:108: recipe for target
>> 'hotspot-only' failed
>
> Weird - now it says it fails but the failure is not evident in the 
> log. ??? Sorry nothing to go on here.

I didn't see the original post from Kumar with the log in. :( How was 
this run? I spot a:

> /usr/bin/make -s VERBOSE="-s" LOG_LEVEL="warn" -R

which seems a bit contrary to the fact that it looks like LOG=debug.

Anyway, when producing debug logs, adding JOBS=1 is always a good idea, 
to serialize output.

I always found debugging the hotspot build system especially difficult 
since there's so many levels of makefiles generating makefiles, etc. 
There's apparently a failure in adfiles generation, but as you say, it 
does not appear in the log.

>
> Question for other build folk: why on earth do we have this in the 
> hotspot build commands: -I/home/rkumar/openjdk8/common/makefiles ??

It's for for make. I think we set it globally as a makeflag, to allow us 
to do "include MakeBase.gmk" in the new build system. Apparently it's 
propagating down in the hotspot build as well. Not really used there, 
but not really harmful either.

/Magnus



More information about the build-dev mailing list