Subject: Re: bug#49990: [core-updates-frozen] Ant-bootstrap broken by classpath-bootstrap

From: Julien Lepiller <[email-masked]>
Date: Wed, 1 Sep 2021 03:02:55 +0200

Le Wed, 01 Sep 2021 00:32:39 +0200,
Ludovic Courtès <[email-masked]> a écrit :

> Hello!
> 
> As discussed on IRC, I had a semi-victory with the attached patch,
> which works around a miscompilation issue in
> ‘Java_java_io_VMFile_isFile’.

another possibility I tested was to disable optimization by adding
CFLAGS=-O0 to the configure-flags. This creates an unoptimized version,
but that should be fine since it's only for the bootstrap. However, I
noticed that my debug messages from my previous attempt were still
visible when compiling icedtea. I don't know what happened, since
there is at least another classpath version before it.

> 
> Unfortunately, with this patch applied, ‘ant-bootstrap’ fails to build
> with:
> 
> Ideas?  What a wonderful puzzle we have!  :-)

Even more wonderful is the fact I do not get this error at all when
using CFLAGS=-O0, but I do with your patch. I didn't have any issue
either with my previous attempt with debugging. Could there be other
problems with optimizations in classpath?

I attached my counter-patch :)

> Thanks,
> Ludo’.

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 08ef7a8213..b2fddcc055 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -244,7 +244,8 @@ only faster.")
              "--disable-plugin"
              "--disable-dssi"
              "--disable-alsa"
-             "--disable-gjdoc")
+             "--disable-gjdoc"
+             "CFLAGS=-O0")
        #:phases
        (modify-phases %standard-phases
          ;; XXX: This introduces a memory leak as we remove a call to free up
@@ -333,7 +334,7 @@ other small VMs it supports the full spec, including object finalisation and
 JNI.")
     (license license:gpl2+)))
 
-(define ant-bootstrap
+(define-public ant-bootstrap
   (package
     (name "ant-bootstrap")
     ;; The 1.10.x series requires Java 8.  1.9.0 and later use generics, which