From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?G=C3=A1bor_Boskovits?= Subject: Re: Fixing ant-bootstrap / jamvm segfault (i686) Date: Mon, 16 Sep 2019 16:42:33 +0200 Message-ID: References: <87v9tsped0.fsf@elephly.net> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000000912b10592ac9eb9" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:53972) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i9sDP-0006lS-7f for guix-devel@gnu.org; Mon, 16 Sep 2019 10:42:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i9sDK-0007dr-Se for guix-devel@gnu.org; Mon, 16 Sep 2019 10:42:55 -0400 In-Reply-To: <87v9tsped0.fsf@elephly.net> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ricardo Wurmus Cc: Guix-devel , julien lepiller --0000000000000912b10592ac9eb9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Ricardo Wurmus ezt =C3=ADrta (id=C5=91pont: 2019. szep= t. 16., H=C3=A9t 15:20): > Hi Guix, > > here=E2=80=99s a probably needlessly complicated patch to fix the build o= f > ant-bootstrap. It currently fails to build because jamvm segfaults. > > --8<---------------cut here---------------start------------->8--- > diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm > index 403c446a82..6bb4f8167f 100644 > --- a/gnu/packages/java.scm > +++ b/gnu/packages/java.scm > @@ -186,10 +186,15 @@ language.") > (arguments > `(#:configure-flags > (list (string-append "--with-classpath-install-dir=3D" > - (assoc-ref %build-inputs "classpath"))))) > + (assoc-ref %build-inputs "classpath")) > + "--disable-int-caching" > + "--enable-runtime-reloc-checks" > + "--disable-int-inlining" > + "--enable-ffi"))) > (inputs > `(("classpath" ,classpath-bootstrap) > ("jikes" ,jikes) > + ("libffi" ,libffi) > ("zlib" ,zlib))) > (home-page "http://jamvm.sourceforge.net/") > (synopsis "Small Java Virtual Machine") > @@ -258,7 +263,7 @@ JNI.") > ,@(if (string-prefix? "armhf" (or (%current-system) > > (%current-target-system))) > `((string-append m "-Xnocompact ")) > - `((string-append m "-Xnocompact -Xnoinlining "))))= ) > + `((string-append m "-Xnocompact "))))) > > ;; Disable tests because we are bootstrapping and thus don'= t > have > ;; any of the dependencies required to build and run the > tests. > --8<---------------cut here---------------end--------------->8--- > > I=E2=80=99m almost certain that not all of these configure flags are need= ed. > What do you think? Would someone like to play a little with this patch > and see if we can figure out why exactly jamvm segfaults? > I will try to have a look at this again in the coming days. > > I used this command to build ant-bootstrap: > > ./pre-inst-env guix build -K --system=3Di686-linux -e '(@@ (gnu packa= ges > java) ant-bootstrap)' > > -- > Ricardo > > --0000000000000912b10592ac9eb9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Ricardo Wurmus <rekado@elephly.net> ezt =C3=ADrta (id=C5=91pont: 2019. szept. 16.= , H=C3=A9t 15:20):
Hi Guix,

here=E2=80=99s a probably needlessly complicated patch to fix the build of<= br> ant-bootstrap.=C2=A0 It currently fails to build because jamvm segfaults.
--8<---------------cut here---------------start------------->8---
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 403c446a82..6bb4f8167f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -186,10 +186,15 @@ language.")
=C2=A0 =C2=A0 =C2=A0(arguments
=C2=A0 =C2=A0 =C2=A0 `(#:configure-flags
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (list (string-append "--with-classpath-ins= tall-dir=3D"
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 (assoc-ref %build-inputs "classpath"))))= )
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 (assoc-ref %build-inputs "classpath")) +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"--disable-int-cachin= g"
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"--enable-runtime-rel= oc-checks"
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"--disable-int-inlini= ng"
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"--enable-ffi"))= )
=C2=A0 =C2=A0 =C2=A0(inputs
=C2=A0 =C2=A0 =C2=A0 `(("classpath" ,classpath-bootstrap)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ("jikes" ,jikes)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0("libffi" ,libffi)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ("zlib" ,zlib)))
=C2=A0 =C2=A0 =C2=A0(home-page "http://jamvm.sourceforg= e.net/")
=C2=A0 =C2=A0 =C2=A0(synopsis "Small Java Virtual Machine")
@@ -258,7 +263,7 @@ JNI.")
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0,@(if (string= -prefix? "armhf" (or (%current-system)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(%current-target-system)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0`((string-append m "-Xnocompact "))
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 `((string-append m "-Xnocompact -Xnoinlining ")))))
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 `((string-append m "-Xnocompact ")))))

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; Disable tests because w= e are bootstrapping and thus don't have
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; any of the dependencies= required to build and run the tests.
--8<---------------cut here---------------end--------------->8---

I=E2=80=99m almost certain that not all of these configure flags are needed= .
What do you think?=C2=A0 Would someone like to play a little with this patc= h
and see if we can figure out why exactly jamvm segfaults?
<= /div>
I will try to have a look at this again in the= coming days.

I used this command to build ant-bootstrap:

=C2=A0 =C2=A0 ./pre-inst-env guix build -K --system=3Di686-linux -e '(@= @ (gnu packages java) ant-bootstrap)'

--
Ricardo

--0000000000000912b10592ac9eb9--