after the latest pull the build broke
Gary Adams
gary.adams at oracle.com
Fri Jul 22 12:51:32 UTC 2016
On 07/21/16 15:53, Grigory Ptashko wrote:
>> On 14 июля 2016 г., at 14:04, Gary Adams <gary.adams at oracle.com> wrote:
>>
>> Sorry for the delay - just back from vacation.
>>
>> Here's a quick patch to get around the libfdlibm.a addition to the generated images.
>>
>> =====
>>
>> diff --git a/make/copy/Copy-java.base.gmk b/make/copy/Copy-java.base.gmk
>> --- a/make/copy/Copy-java.base.gmk
>> +++ b/make/copy/Copy-java.base.gmk
>> @@ -239,8 +239,8 @@
>>
>> FDLIBM_TARGET_LIB := $(LIB_DST_DIR)$(OPENJDK_TARGET_CPU_LIBDIR)/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
>> ifeq ($(STATIC_BUILD), true)
>> - $(FDLIBM_TARGET_LIB): $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
>> + $(FDLIBM_TARGET_LIB): $(SUPPORT_OUTPUTDIR)/native/java.base/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
>> $(call install-file)
>>
>> - TARGETS += $(FDLIBM_TARGET_LIB)
>> +# TARGETS += $(FDLIBM_TARGET_LIB)
>> endif
>> diff --git a/make/launcher/LauncherCommon.gmk b/make/launcher/LauncherCommon.gmk
>> --- a/make/launcher/LauncherCommon.gmk
>> +++ b/make/launcher/LauncherCommon.gmk
>> @@ -128,6 +128,7 @@
>> $$(shell $(FIND) $(SUPPORT_OUTPUTDIR)/modules_libs/java.base -name "*.a") \
>> $(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/libdt_socket.a \
>> $(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/libjdwp.a \
>> + $(SUPPORT_OUTPUTDIR)/native/java.base/libfdlibm.a \
>> -framework CoreFoundation \
>> -framework Foundation \
>> -framework SystemConfiguration \
>>
>>
>> The compilation warnings are due to our using a newer Xcode than the mainstream jdk9 repos support.
>> The --disable-warnings-as-errors flag let's us continue with the build.
>>
>> One other flag worth mentioning, now that we are building images with the lib/modules jimage file, there is a separate
>> buildjdk pass to build enough of the interim image to support the jmod and jlink tools. This is complicated in the cross
>> compilation case. If you already have macosx build from your mobile/dev repos, you can reduce the complexity in the build
>> by setting "--with-build-jdk=…"
> Not quite understand what do you mean. Yes, I have jdk9 build from the repo for the macosx.
> Do you mean that I must specify this jdk9 image in the --with-build-jdk=.. swicth?
Yes, providing the buildjdk image at configuration time means the
buildjdk does not have to be built
every time.
Unfortunately, the current build system has some issue attempting to do
buildjdk and cross compilation
all at the same time. That's what I'm trying correct in the mobile/dev
repos.
>
>> On 07/12/16 16:40, Grigory Ptashko wrote:
>>> Hello.
>>>
>>> After the latest pull the build broke.
>>>
>>>
>>> Here's the configure options:
>>>
>>> # openjdk9 build for ios arm64
>>> bash configure \
>>> --enable-option-checking=fatal \
>>> --openjdk-target=aarch64-macos-ios \
>>> --disable-warnings-as-errors \
>>> --disable-headful \
>>> --with-boot-jdk=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home \
>>> --with-jdk-variant=normal \
>>> --with-jvm-variants=zero \
>>> --enable-static-build=yes \
>>> --with-libffi-include=$HOME/work/local-install/libffi-arm64/lib/libffi-3.2.1/include \
>>> --with-libffi-lib=$HOME/work/local-install/libffi-arm64/lib \
>>> --with-extra-cflags="-arch arm64 -Wno-implicit-function-declaration -Wno-unused-parameter -miphoneos-version-min=8.0.0" \
>>> --with-extra-cxxflags="-arch arm64 -Wno-implicit-function-declaration -Wno-unused-parameter -miphoneos-version-min=8.0.0" \
>>> --with-extra-ldflags="-arch arm64 -miphoneos-version-min=8.0.0 -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/system" \
>>> --with-cups-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include \
>>> --with-sys-root=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk \
>>> --with-tools-dir=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin \
>>> --with-debug-level=release \
>>> --disable-precompiled-headers \
>>> --disable-javac-server \
>>> --without-x \
>>> --without-alsa \
>>> --without-dxsdk \
>>> --with-freetype-lib=$HOME/work/local-install/freetype2.6.2-arm64/lib \
>>> --with-freetype-include=$HOME/work/local-install/freetype2.6.2-arm64/include/freetype2
>>>
>>>
>>> Here's what the configure says in the end:
>>>
>>> ====================================================
>>> A new configuration has been successfully created in
>>> /Users/macbook/work/openjdk9tree-ios-dev/build/ios-aarch64-normal-zero-release
>>> using configure arguments '--enable-option-checking=fatal --openjdk-target=aarch64-macos-ios --disable-warnings-as-errors --disable-headful --with-boot-jdk=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home --with-jdk-variant=normal --with-jvm-variants=zero --enable-static-build=yes --with-libffi-include=/Users/macbook/work/local-install/libffi-arm64/lib/libffi-3.2.1/include --with-libffi-lib=/Users/macbook/work/local-install/libffi-arm64/lib --with-extra-cflags='-arch arm64 -Wno-implicit-function-declaration -Wno-unused-parameter -miphoneos-version-min=8.0.0' --with-extra-cxxflags='-arch arm64 -Wno-implicit-function-declaration -Wno-unused-parameter -miphoneos-version-min=8.0.0' --with-extra-ldflags='-arch arm64 -miphoneos-version-min=8.0.0 -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/system!
>>> ' --with-c
>>> ups-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include --with-sys-root=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk --with-tools-dir=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin --with-debug-level=release --disable-precompiled-headers --disable-javac-server --without-x --without-alsa --without-dxsdk --with-freetype-lib=/Users/macbook/work/local-install/freetype2.6.2-arm64/lib --with-freetype-include=/Users/macbook/work/local-install/freetype2.6.2-arm64/include/freetype2'.
>>>
>>> Configuration summary:
>>> * Debug level: release
>>> * HS debug level: product
>>> * JDK variant: normal
>>> * JVM variants: zero
>>> * OpenJDK target: OS: ios, CPU architecture: aarch64, address length: 64
>>> * Version string: 9-internal+0-2016-07-12-194619.macbook.openjdk9tree-ios-dev (9-internal)
>>>
>>> Tools summary:
>>> * Boot JDK: java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode) (at /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home)
>>> * Toolchain: clang (clang/LLVM from Xcode 7.3.1)
>>> * C Compiler: Version 7.3.0 (at /usr/bin/clang)
>>> * C++ Compiler: Version 7.3.0 (at /usr/bin/clang++)
>>>
>>> Build performance summary:
>>> * Cores to use: 4
>>> * Memory limit: 8192 MB
>>>
>>> The following warnings were produced. Repeated here for convenience:
>>> WARNING: using cross tools not prefixed with host triplet
>>>
>>>
>>>
>>> Here's the make command and the resulting error:
>>>
>>> $ make JOBS=3 CONF=ios-aarch64-normal-zero-release images
>>> Building configuration 'ios-aarch64-normal-zero-release' (matching CONF=ios-aarch64-normal-zero-release)
>>> Building target 'images' in configuration 'ios-aarch64-normal-zero-release'
>>> Building JVM variant 'zero' with features 'all-gcs cds fprof jni-check jvmti management nmt services static-build vm-structs zero'
>>> Compiling 8 files for BUILD_TOOLS_LANGTOOLS
>>> Compiling 2 files for BUILD_JVMTI_TOOLS
>>> make[3]: *** No rule to make target `/Users/macbook/work/openjdk9tree-ios-dev/build/ios-aarch64-normal-zero-release/support/native/java.base/libfdlibm.a', needed by `/Users/macbook/work/openjdk9tree-ios-dev/build/ios-aarch64-normal-zero-release/support/modules_libs/java.base/aarch64/libfdlibm.a'. Stop.
>>> make[3]: *** Waiting for unfinished jobs....
>>> make[2]: *** [java.base-copy-jdk] Error 2
>>> make[2]: *** Waiting for unfinished jobs....
>>> Creating libjvm.a from 555 file(s)
>>> /Users/macbook/work/openjdk9tree-ios-dev/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:106:1: warning: control may reach end of non-void function [-Wreturn-type]
>>> }
>>> ^
>>> 1 warning generated.
>>> /Users/macbook/work/openjdk9tree-ios-dev/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp:256:16: warning: format string is not a string literal [-Wformat-nonliteral]
>>> sprintf(buf, fmt, sig, info->si_addr);
>>> ^~~
>>> 1 warning generated.
>>>
>>> ERROR: Build failed for target 'images' in configuration 'ios-aarch64-normal-zero-release' (exit code 2)
>>> No indication of failed target found.
>>> Hint: Try searching the build log for '] Error'.
>>> Hint: If caused by a warning, try configure --disable-warnings-as-errors.
>>>
>>> make[1]: *** [main] Error 2
>>> make: *** [images] Error 2
>>>
>>>
>>> --
>>> Best regards,
>>> Grigory Ptashko
>>>
>>> +7 (916) 1489766
>>>
>>> grigory.ptashko at gmail.com
>>>
>>> facebook.com/GrigoryPtashko
>>>
>>>
>
> --
> Best regards,
> Grigory Ptashko
>
> +7 (916) 1489766
> grigory.ptashko at gmail.com
> facebook.com/GrigoryPtashko
>
More information about the mobile-dev
mailing list