<div dir="ltr">Thanks,<div>I did follow the readme, but could not find any commentary about the build environment or the required compilers.</div><div>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.</div><div><br></div><div>If you can point me to a specific section in the documentation specifying, say, a list of known good compilers, I'll be grateful.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 6 Aug 2024 at 21:37, Magnus Ihse Bursie <<a href="mailto:magnus.ihse.bursie@oracle.com">magnus.ihse.bursie@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>
<div>
<p>On 2024-08-06 20:33, Elazar Leibovich wrote:</p>
<blockquote type="cite">
<div dir="ltr">Thanks,
<div>I still fail to understand how JDK8u developers are
building the project.</div>
</div>
</blockquote>
<p>Setting up a build environment for jdk8 is unfortunately not a
trivial task. The build readme can be of some use:
<a href="https://github.com/openjdk/jdk8u-dev/blob/master/doc/building.md" target="_blank">https://github.com/openjdk/jdk8u-dev/blob/master/doc/building.md</a>.
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.</p>
<p>/Magnus<br>
</p>
<p><br>
</p>
<p><br>
</p>
<blockquote type="cite">
<div dir="ltr">
<div>Is there a docker file specifying the build environment?
What's the recommended way of doing that?</div>
<div>Removing the register keyword, plus disabling an overflow
warning in a specific test with pragma did the trick for me,
but:<br>
1. I could not get it built in Mac OS X<br>
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.</div>
<div><br>
</div>
<div>Thanks again,</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, 6 Aug 2024 at 21:10,
Zdeněk Žamberský <<a href="mailto:zzambers@redhat.com" target="_blank">zzambers@redhat.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
this is known issue, which should get fixed by JDK-8281096:<br>
<a href="https://github.com/openjdk/jdk8u-dev/pull/357" rel="noreferrer" target="_blank">https://github.com/openjdk/jdk8u-dev/pull/357</a><br>
<br>
(see also: <a href="https://github.com/openjdk/jdk8u-dev/pull/508" rel="noreferrer" target="_blank">https://github.com/openjdk/jdk8u-dev/pull/508</a>)<br>
<br>
TLDR:<br>
Jdk 8 explicitly specifies older c++ version (gnu++98, which
not yet <br>
deprecated<br>
'register' keyword), but flags are not propagated to ADLC
build due to bug.<br>
(correct me, if I am wrong)<br>
<br>
<br>
When it comes to Adoptium, I don't know exactly, but I think
they are using<br>
older compiler, which uses older c++ standard by default.<br>
<br>
On 06. 08. 24 18:37, Magnus Ihse Bursie wrote:<br>
> Hi Elazar,<br>
><br>
> I see that you never got any replies here. I suggest that
you re-ask <br>
> your question on the jdk8u mailing list instead (cc'd).<br>
><br>
> /Magnus<br>
><br>
> On 2024-07-19 16:20, Elazar Leibovich wrote:<br>
>> When trying to compile the latest jdk8u on linux I
get failures over <br>
>> warnings with the register keywords.<br>
>><br>
>> I'm using <a href="https://github.com/openjdk/jdk8u-dev.git" rel="noreferrer" target="_blank">https://github.com/openjdk/jdk8u-dev.git</a>
which seems to be <br>
>> pretty up to date (I'm using master), and last commit
is less than <br>
>> two days ago.<br>
>><br>
>> This is a workaround I had to use:<br>
>> diff --git a/hotspot/make/linux/makefiles/gcc.make <br>
>> b/hotspot/make/linux/makefiles/gcc.make<br>
>> index 7dde7f0963..81f156574a 100644<br>
>> --- a/hotspot/make/linux/makefiles/gcc.make<br>
>> +++ b/hotspot/make/linux/makefiles/gcc.make<br>
>> @@ -202,7 +202,7 @@ else<br>
>> endif<br>
>><br>
>> # Compiler warnings are treated as errors<br>
>> -WARNINGS_ARE_ERRORS = -Werror<br>
>> +WARNINGS_ARE_ERRORS = -Werror -Wno-register<br>
>><br>
>> But I guess the best solution is to remove the
register keywords from <br>
>> the codebase.<br>
>><br>
>> How is adoptium building it? Does it use specific
compiler? Is the <br>
>> supported compiler documented anywhere?<br>
>><br>
>> FTR using temurin-build repository and scripts, fails
for other <br>
>> reasons, and fails even with -D/--podman docker
containers.<br>
>><br>
>> This patch builds it with centos stream 9 on amd64.<br>
>><br>
>> Am I doing something wrong? What's the recommended
way of building jdk8?<br>
>><br>
>> Thanks,<br>
>> Elazar Leibovich<br>
><br>
<br>
-- <br>
Zdeněk Žamberský<br>
OpenJDK QE<br>
Red Hat<br>
<br>
</blockquote>
</div>
</blockquote>
</div>
</blockquote></div>