Compile error in codeBlob.cpp when building JDK-11 for Windows-32
Martijn Verburg
martijnverburg at gmail.com
Mon Sep 17 09:14:38 UTC 2018
Hi all,
Quik note inline.
On Mon, 17 Sep 2018 at 04:33, David Holmes <david.holmes at oracle.com> wrote:
> <dropped build-dev>
>
> We've seen this problem before:
>
> https://bugs.openjdk.java.net/browse/JDK-8196880
>
> As Magnus noted Oracle doesn't support 32-bit builds any more, and as
> far as I can see no-one does. AdoptOpenJDK doesn't.
>
Adopt does now produce win32 builds and we have someone willing to put in
the work to try and maintain that port, but Adopt doesn't provide
commercial support no. We're currently producing 8 builds but will start
walking up versions this week.
Cheers,
Martijn
> But as long as the code remains we can fix issues if they are raised.
> I've filed:
>
> https://bugs.openjdk.java.net/browse/JDK-8210803
>
> Cheers,
> David
>
> On 14/09/2018 6:37 PM, Magnus Ihse Bursie wrote:
> >
> > On 2018-09-14 10:03, Robert Lichtenberger wrote:
> >> I have tried to build a Windows 32-bit JDK-11. While I was successful in
> >> building a 64-bit Windows JDK, the attempt for 32-bit failed:
> >>
> >> Here's what I did:
> >>
> >> $ bash configure --with-boot-jdk=/cygdrive/c/jdk-10.0.2
> >> --disable-warnings-as-errors --with-target-bits=32
> >> ...
> >>
> >> ====================================================
> >> The existing configuration has been successfully updated in
> >> /cygdrive/c/jdk/jdk11/build/windows-x86-normal-server-release
> >> using configure arguments '--with-boot-jdk=/cygdrive/c/jdk-10.0.2
> >> --disable-warnings-as-errors --with-target-bits=32'.
> >>
> >> Configuration summary:
> >> * Debug level: release
> >> * HS debug level: product
> >> * JVM variants: server
> >> * JVM features: server: 'cds cmsgc compiler1 compiler2 epsilongc g1gc
> >> jfr jni-check jvmti management nmt parallelgc serialgc services
> >> vm-structs'
> >> * OpenJDK target: OS: windows, CPU architecture: x86, address length: 32
> >> * Version string: 11-internal+0-adhoc.synedra.jdk11 (11-internal)
> >>
> >> Tools summary:
> >> * Environment: cygwin version 2.10.0(0.325/5/3) (root at
> >> /cygdrive/c/cygwin64)
> >> * Boot JDK: openjdk version "10.0.2" 2018-07-17 OpenJDK Runtime
> >> Environment 18.3 (build 10.0.2+13) OpenJDK 64-Bit Server VM 18.3 (build
> >> 10.0.2+13, mixed mode) (at /cygdrive/c/jdk-10.0.2)
> >> * Toolchain: microsoft (Microsoft Visual Studio 2017)
> >> * C Compiler: Version 19.15.26729 (at
> >>
> /cygdrive/c/progra~2/micros~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x86/cl)
>
> >>
> >> * C++ Compiler: Version 19.15.26729 (at
> >>
> /cygdrive/c/progra~2/micros~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x86/cl)
>
> >>
> >>
> >> Build performance summary:
> >> * Cores to use: 2
> >> * Memory limit: 16383 MB
> >> ...
> >>
> >> $ time make CONF=windows-x86-normal-server-release all
> >> Building target 'all' in configuration
> >> 'windows-x86-normal-server-release'
> >> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(229): error C2956:
> >> sized deallocation function 'operator delete(void*, size_t)' would be
> >> chosen as placement deallocation function.
> >> predefined C++ types (compiler internal)(44): note: see declaration of
> >> 'operator delete'
> >> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(250): error C2956:
> >> sized deallocation function 'operator delete(void*, size_t)' would be
> >> chosen as placement deallocation function.
> >> predefined C++ types (compiler internal)(44): note: see declaration of
> >> 'operator delete'
> >> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(289): error C2956:
> >> sized deallocation function 'operator delete(void*, size_t)' would be
> >> chosen as placement deallocation function.
> >> predefined C++ types (compiler internal)(44): note: see declaration of
> >> 'operator delete'
> >> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(312): error C2956:
> >> sized deallocation function 'operator delete(void*, size_t)' would be
> >> chosen as placement deallocation function.
> >> predefined C++ types (compiler internal)(44): note: see declaration of
> >> 'operator delete'
> >> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(333): error C2956:
> >> sized deallocation function 'operator delete(void*, size_t)' would be
> >> chosen as placement deallocation function.
> >> predefined C++ types (compiler internal)(44): note: see declaration of
> >> 'operator delete'
> >> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(372): error C2956:
> >> sized deallocation function 'operator delete(void*, size_t)' would be
> >> chosen as placement deallocation function.
> >> predefined C++ types (compiler internal)(44): note: see declaration of
> >> 'operator delete'
> >> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(437): error C2956:
> >> sized deallocation function 'operator delete(void*, size_t)' would be
> >> chosen as placement deallocation function.
> >> predefined C++ types (compiler internal)(44): note: see declaration of
> >> 'operator delete'
> >> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(470): error C2956:
> >> sized deallocation function 'operator delete(void*, size_t)' would be
> >> chosen as placement deallocation function.
> >> predefined C++ types (compiler internal)(44): note: see declaration of
> >> 'operator delete'
> >> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(506): error C2956:
> >> sized deallocation function 'operator delete(void*, size_t)' would be
> >> chosen as placement deallocation function.
> >> predefined C++ types (compiler internal)(44): note: see declaration of
> >> 'operator delete'
> >> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(541): error C2956:
> >> sized deallocation function 'operator delete(void*, size_t)' would be
> >> chosen as placement deallocation function.
> >> predefined C++ types (compiler internal)(44): note: see declaration of
> >> 'operator delete'
> >> make[3]: *** [lib/CompileJvm.gmk:151:
> >>
> /cygdrive/c/jdk/jdk11/build/windows-x86-normal-server-release/hotspot/variant-server/libjvm/objs/codeBlob.obj]
>
> >>
> >> Error 1
> >> make[2]: *** [make/Main.gmk:257: hotspot-server-libs] Error 2
> >> make[2]: *** Waiting for unfinished jobs....
> >>
> >> ERROR: Build failed for target 'all' in configuration
> >> 'windows-x86-normal-server-release' (exit code 2)
> >
> > This is most likely due to some issue on new/delete operators works,
> > which are undergoing changes in the language. That is, a code issue on
> > hotspot.
> >
> > I don't know why you are seeing this on windows-x86 though.
> > https://msdn.microsoft.com/en-us/library/mt723604.aspx suggests that
> you
> > can disable this check by -Zc:sizedDealloc-. Do this by "configure
> > --with-extra-cxxflags=Zc:sizedDealloc-".
> >
> >> On a meta-level: Is a JDK for Windows 32-bit just built no longer or is
> >> it completely abandoned as a platform?
> >
> > Oracle is not building 32-bit Windows regularly, and I don't think
> > anyone else is doing that. (Perhaps AdoptOpenJDK?) In such a scenario,
> > the code quickly bit rots. There has been no decision as of yet to
> > remove the code from the code base, but unless someone steps up to
> > maintain the code base, it's unlikely to survive in the long term.
> >
> > /Magnus
>
More information about the hotspot-dev
mailing list