Fwd: cross compile OpenJDK-9+158 minimal variant failed when link libjvm.so

Erik Joelsson erik.joelsson at oracle.com
Tue Feb 28 09:19:14 UTC 2017


Hello,

I doubt anyone has built a minimal arm jvm with only open code recently. 
To me this looks like an error in the Hotspot source code and not really 
a build issue as such.

/Erik


On 2017-02-28 09:51, Zhu Yong wrote:
> Dear All,
>
> I am testing cross compile OpenJDK-9+158 for our embedded system using
> buildroot, I can build server and client variants successfully, but the
> output compact1 profile file size is too big, then I tried to build minimal
> variant, failed when linking libjvm.so.
>
> I checked build/linux-arm-normal-minimal-release/hotspot/variant-minimal/
> libjvm/objs/_BUILD_LIBJVM_objectfilenames.txt, jvmtiEnvBase.o
> and jvmtiEnvThreadState.o are not listed in the file (which is required
> from the error message below).
>
>
> === Output from failing command(s) repeated here ===
> * For target hotspot_variant-minimal_libjvm_objs_BUILD_LIBJVM_link:
> /tmp/cc27HS5M.ltrans0.ltrans.o: In function `VM_GetStackTrace::doit()
> [clone .local.640]':
> cc27HS5M.ltrans0.o:(.text+0xce5e): undefined reference to
> `JvmtiEnvBase::get_stack_trace(JavaThread*, int, int, _jvmtiFrameInfo*,
> int*)'
> /tmp/cc27HS5M.ltrans0.ltrans.o: In function
> `VM_GetCurrentContendedMonitor::doit()
> [clone .local.639]':
> cc27HS5M.ltrans0.o:(.text+0xcec2): undefined reference to
> `JvmtiEnvBase::get_current_contended_monitor(JavaThread*, JavaThread*,
> _jobject**)'
> /tmp/cc27HS5M.ltrans0.ltrans.o: In function `VM_GetOwnedMonitorInfo::doit()
> [clone .local.638]':
> cc27HS5M.ltrans0.o:(.text+0xcf26): undefined reference to
> `JvmtiEnvBase::get_owned_monitors(JavaThread*, JavaThread*, GrowableArray<_
> jvmtiMonitorStackDepthInfo*>*)'
> /tmp/cc27HS5M.ltrans0.ltrans.o: In function `VM_GetFrameCount::doit()
> [clone .local.637]':
> cc27HS5M.ltrans0.o:(.text+0xcf8a): undefined reference to
> `JvmtiEnvBase::get_frame_count(JvmtiThreadState*, int*)'
> /tmp/cc27HS5M.ltrans0.ltrans.o: In function `VM_SetFramePop::doit() [clone
> .local.636]':
> cc27HS5M.ltrans0.o:(.text+0xcfea): undefined reference to
> `JvmtiThreadState::count_frames()'
> cc27HS5M.ltrans0.o:(.text+0xd030): undefined reference to
> `JvmtiEnvThreadState::set_frame_pop(int)'
> /tmp/cc27HS5M.ltrans0.ltrans.o: In function `VM_GetFrameLocation::doit()
> [clone .local.641]':
>     ... (rest of output omitted)
>
>
> My configuration:
>
> --with-jdk-variant=normal \
> --with-jvm-variants=minimal \
> --with-debug-level=release \
> --disable-warnings-as-errors \
> --disable-hotspot-gtest \
> --with-abi-profile=arm-vfp-sflt \
> --openjdk-target=$(GNU_TARGET_NAME) \
> --with-sys-root=$(STAGING_DIR) \
> --with-tools-dir=$(HOST_DIR) \
> --with-freetype-include=$(STAGING_DIR)/usr/include \
> --with-freetype-lib=$(STAGING_DIR)/usr/lib \
> --with-freetype=$(STAGING_DIR)/usr/ \
> --with-alsa-include=$(STAGING_DIR)/usr/include \
> --with-alsa-lib=$(STAGING_DIR)/usr/lib \
> --with-alsa=$(STAGING_DIR)/usr/ \
> --with-cups=$(STAGING_DIR)/usr/ \
> --with-x=$(STAGING_DIR)/usr/include \
> --with-extra-ldflags=--sysroot=$(STAGING_DIR) \
> --enable-headless-only \
> --disable-freetype-bundling \
> --enable-unlimited-crypto \
> --with-boot-jdk=/opt/java/jdk1.8.0_102




More information about the build-dev mailing list