On 7/08/2024 4:42 am, Elazar Leibovich wrote:
Thanks,
I did follow the readme, but could not find any commentary about the build environment or the required compilers.

There is a tiny bit of info there but I think it is out-of-date:

Linux X86 (32-bit) and X64 (64-bit) Fedora 9 gcc 4.3
Mac OS X X64 (64-bit) Mac OS X 10.7 "Lion" XCode 4.5.2 or newer

There is also info here, but again likely out-of-date:

https://wiki.openjdk.org/display/Build/Supported+Build+Platforms

The folks on jdk8u-dev are the best source of current info.

David
-----


Even less information was on Mac OS X, where the autoconf files seems not to be updated, and as a result arm was chosen instead of aarch64.

If you can point me to a specific section in the documentation specifying, say, a list of known good compilers, I'll be grateful.

On Tue, 6 Aug 2024 at 21:37, Magnus Ihse Bursie <magnus.ihse.bur...@oracle.com <mailto:magnus.ihse.bur...@oracle.com>> wrote:

    __

    On 2024-08-06 20:33, Elazar Leibovich wrote:

    Thanks,
    I still fail to understand how JDK8u developers are building the
    project.

    Setting up a build environment for jdk8 is unfortunately not a
    trivial task. The build readme can be of some use:
    https://github.com/openjdk/jdk8u-dev/blob/master/doc/building.md
    <https://github.com/openjdk/jdk8u-dev/blob/master/doc/building.md>.
    The build system has gone through a complete overhaul in later
    versions, so if you were to build the mainline JDK it would be a
    much smoother experience. After all, JDK 8 was released 10 years
    ago, and much has happened since then.

    /Magnus



    Is there a docker file specifying the build environment? What's
    the recommended way of doing that?
    Removing the register keyword, plus disabling an overflow warning
    in a specific test with pragma did the trick for me, but:
    1. I could not get it built in Mac OS X
    2. I felt as if I'm paving my own path building it, instead of
    following the Yellow Brick Road, which I'm trying to locate.

    Thanks again,

    On Tue, 6 Aug 2024 at 21:10, Zdeněk Žamberský <zzamb...@redhat.com
    <mailto:zzamb...@redhat.com>> wrote:

        Hello,

        this is known issue, which should get fixed by JDK-8281096:
        https://github.com/openjdk/jdk8u-dev/pull/357
        <https://github.com/openjdk/jdk8u-dev/pull/357>

        (see also: https://github.com/openjdk/jdk8u-dev/pull/508
        <https://github.com/openjdk/jdk8u-dev/pull/508>)

        TLDR:
        Jdk 8 explicitly specifies older c++ version (gnu++98, which
        not yet
        deprecated
        'register' keyword), but flags are not propagated to ADLC
        build due to bug.
        (correct me, if I am wrong)


        When it comes to Adoptium, I don't know exactly, but I think
        they are using
        older compiler, which uses older c++ standard by default.

        On 06. 08. 24 18:37, Magnus Ihse Bursie wrote:
        > Hi Elazar,
        >
        > I see that you never got any replies here. I suggest that
        you re-ask
        > your question on the jdk8u mailing list instead (cc'd).
        >
        > /Magnus
        >
        > On 2024-07-19 16:20, Elazar Leibovich wrote:
        >> When trying to compile the latest jdk8u on linux I get
        failures over
        >> warnings with the register keywords.
        >>
        >> I'm using https://github.com/openjdk/jdk8u-dev.git
        <https://github.com/openjdk/jdk8u-dev.git> which seems to be
        >> pretty up to date (I'm using master), and last commit is
        less than
        >> two days ago.
        >>
        >> This is a workaround I had to use:
        >> diff --git a/hotspot/make/linux/makefiles/gcc.make
        >> b/hotspot/make/linux/makefiles/gcc.make
        >> index 7dde7f0963..81f156574a 100644
        >> --- a/hotspot/make/linux/makefiles/gcc.make
        >> +++ b/hotspot/make/linux/makefiles/gcc.make
        >> @@ -202,7 +202,7 @@ else
        >>  endif
        >>
        >>  # Compiler warnings are treated as errors
        >> -WARNINGS_ARE_ERRORS = -Werror
        >> +WARNINGS_ARE_ERRORS = -Werror -Wno-register
        >>
        >> But I guess the best solution is to remove the register
        keywords from
        >> the codebase.
        >>
        >> How is adoptium building it? Does it use specific compiler?
        Is the
        >> supported compiler documented anywhere?
        >>
        >> FTR using temurin-build repository and scripts, fails for
        other
        >> reasons, and fails even with -D/--podman docker containers.
        >>
        >> This patch builds it with centos stream 9 on amd64.
        >>
        >> Am I doing something wrong? What's the recommended way of
        building jdk8?
        >>
        >> Thanks,
        >> Elazar Leibovich
        >

-- Zdeněk Žamberský
        OpenJDK QE
        Red Hat

Reply via email to