after the latest pull the build broke

Gary Adams gary.adams at oracle.com
Thu Jul 14 11:04:31 UTC 2016


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=..."

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



More information about the mobile-dev mailing list