smalltalk fails to build

  • Done
  • quality assurance status badge
Details
4 participants
  • Holger Peters
  • Ludovic Courtès
  • Michael Rohleder
  • Miguel Ángel Arruga Vivas
Owner
unassigned
Submitted by
Michael Rohleder
Severity
normal
M
M
Michael Rohleder wrote on 8 Aug 2020 20:53
(address . bug-guix@gnu.org)
87sgcxc6lh.fsf@rohleder.de
As reported by zelphirkaltstahl@posteo.de, smalltalk fails in tests:

...
/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash './testsuite'
## ------------------------------- ##
## GNU Smalltalk 3.2.5 test suite. ##
## ------------------------------- ##

Regression tests.

1: arrays.st ok
2: classes.st ok
3: blocks.st ok
4: sets.st ok
5: processes.st ok
6: exceptions.st ok
7: intmath.st FAILED (testsuite.at:33)
^C

--
A baby is God's opinion that the world should go on.
-- Carl Sandburg
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEdV4t5dDVhcUueCgwfHr/vv7yyyUFAl8u9JoACgkQfHr/vv7y
yyVICgf9EwwUXUZnrw0qYwAPmAk2ARkGhMmsWl4JCZ8Cr8OJYdf+GerCbXeqj7PE
a+90rdf/PmoDLBZx0BvQnHPBh5+ObSI6mX8Uho592wqUvGsGsc1WAyk7VqqOqd4x
Bxkd/cb7ULy8ndh1xlpkYuae8D5tMvMmZklRD7C6KFAf6FdOxzQYWuSkHuN+YK5S
QFoznmazHemQb6jHqYv3iI4Tpbm1DPVWUR7c7rPKXoJkvuFOJ4/mM+VzJQwW0WkY
q528NgRotreaTyj5a70OeQcdfv73oa4jo/LLT48V/wNApBiNzsVT0BfbHzqyYVbk
KGGXqrih8BdT4aCSSvTC/na64OPPvQ==
=iZcz
-----END PGP SIGNATURE-----

H
H
Holger Peters wrote on 28 Nov 2020 23:09
[PATCH] Disable tests for smalltalk and add candidate releases
(address . 42771@debbugs.gnu.org)
20201128220944.520616-1-holger.peters@posteo.de
Last stable GNU smalltalk release dates back to 2013-04-08. Disabled tests as
they were also failing for my non-guix build. Also added the latest alpha
release as `smalltalk-next` and a build from vcs where we actually pass the
tests.

* gnu/packages/ruby.scm (smalltalk): Disable tests
(smalltalk-next): New variable.
(smalltalk-next-from-vcs): New variable.
---
gnu/packages/smalltalk.scm | 63 +++++++++++++++++++++++++++++++++++++-
1 file changed, 62 insertions(+), 1 deletion(-)

Toggle diff (101 lines)
diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm
index 5d35f563e2..c96f4b1730 100644
--- a/gnu/packages/smalltalk.scm
+++ b/gnu/packages/smalltalk.scm
@@ -24,20 +24,26 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libsigsegv)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages xorg))
(define-public smalltalk
@@ -61,7 +67,8 @@
(inputs
`(("zip" ,zip)))
(arguments
- `(#:phases
+ `(#:tests? #f ; failing tests, 3.2.5 has been released years ago
+ #:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-libc
(lambda _
@@ -145,3 +152,57 @@ also includes a customisable framework for creating dynamic HTTP servers and
interactively extensible Web sites.")
(home-page "http://squeakvm.org/")
(license license:x11)))
+
+;;; alpha release
+(define-public smalltalk-next
+ (package (inherit smalltalk)
+ (name "smalltalk-next")
+ (version "3.2.91")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://alpha.gnu.org/gnu/smalltalk/smalltalk-"
+ version ".tar.xz"))
+ (sha256
+ (base32 "1zb2h5cbz1cwybqjl24lflw359lwj7sjvvhwb4x6miypzhwq4qh0"))))))
+
+;;; This version from the main development branch can be built with passing
+;;; tests
+(define-public smalltalk-next-from-vcs
+ (let ((revision "18")
+ (commit "dfe4b5660037c4d178853ee00458a75e51a88563")
+ (git-url "git://git.sv.gnu.org/smalltalk.git"))
+ (package (inherit smalltalk)
+ (name "smalltalk-next-from-vcs")
+ (version (git-version "3.2.91" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url git-url)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "11dm1qricq7fwn1gfyn9ik7f1axw7l3ivipsh11dywa42pmb5j2r"))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("flex" ,flex)
+ ("texinfo" ,texinfo)
+ ("perl" ,perl)
+ ("gettext" ,gettext-minimal)
+ ("libffi" ,libffi)
+ ("libltdl" ,libltdl)
+ ("bison" ,bison)
+ ("libsigsegv" ,libsigsegv)
+ ("pkg-config" ,pkg-config)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-libc
+ (lambda _
+ (let ((libc (assoc-ref %build-inputs "libc")))
+ (substitute* "libc.la.in"
+ (("@LIBC_SO_NAME@") "libc.so")
+ (("@LIBC_SO_DIR@") (string-append libc "/lib"))))
+ #t))))))))
+
--
2.28.0
H
H
Holger Peters wrote on 29 Nov 2020 09:43
(address . 42771@debbugs.gnu.org)
20201129084328.545720-1-holger.peters@posteo.de
* gnu/packages/smalltalk.scm (smalltalk): disable tests
(smalltalk-next): New variable.
(smalltalk-next-from-vcs): New variable.
---
gnu/packages/smalltalk.scm | 64 +++++++++++++++++++++++++++++++++++++-
1 file changed, 63 insertions(+), 1 deletion(-)

Toggle diff (109 lines)
diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm
index 5d35f563e2..7136751a81 100644
--- a/gnu/packages/smalltalk.scm
+++ b/gnu/packages/smalltalk.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Holger Peters <holger.peters@posteo.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,20 +25,26 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libsigsegv)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages xorg))
(define-public smalltalk
@@ -61,7 +68,8 @@
(inputs
`(("zip" ,zip)))
(arguments
- `(#:phases
+ `(#:tests? #f ; failing tests, 3.2.5 has been released years ago
+ #:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-libc
(lambda _
@@ -145,3 +153,57 @@ also includes a customisable framework for creating dynamic HTTP servers and
interactively extensible Web sites.")
(home-page "http://squeakvm.org/")
(license license:x11)))
+
+;;; alpha release
+(define-public smalltalk-next
+ (package (inherit smalltalk)
+ (name "smalltalk-next")
+ (version "3.2.91")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://alpha.gnu.org/gnu/smalltalk/smalltalk-"
+ version ".tar.xz"))
+ (sha256
+ (base32 "1zb2h5cbz1cwybqjl24lflw359lwj7sjvvhwb4x6miypzhwq4qh0"))))))
+
+;;; This version from the main development branch can be built with passing
+;;; tests
+(define-public smalltalk-next-from-vcs
+ (let ((revision "18")
+ (commit "dfe4b5660037c4d178853ee00458a75e51a88563")
+ (git-url "git://git.sv.gnu.org/smalltalk.git"))
+ (package (inherit smalltalk)
+ (name "smalltalk-next-from-vcs")
+ (version (git-version "3.2.91" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url git-url)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "11dm1qricq7fwn1gfyn9ik7f1axw7l3ivipsh11dywa42pmb5j2r"))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("flex" ,flex)
+ ("texinfo" ,texinfo)
+ ("perl" ,perl)
+ ("gettext" ,gettext-minimal)
+ ("libffi" ,libffi)
+ ("libltdl" ,libltdl)
+ ("bison" ,bison)
+ ("libsigsegv" ,libsigsegv)
+ ("pkg-config" ,pkg-config)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-libc
+ (lambda _
+ (let ((libc (assoc-ref %build-inputs "libc")))
+ (substitute* "libc.la.in"
+ (("@LIBC_SO_NAME@") "libc.so")
+ (("@LIBC_SO_DIR@") (string-append libc "/lib"))))
+ #t))))))))
+
--
2.28.0
H
H
Holger Peters wrote on 4 Dec 2020 12:34
(address . 42771@debbugs.gnu.org)
D77019C9-0FAD-4191-A242-594CDB14C6FD@posteo.de
Investigating the test failures, I found https://lists.gnu.org/archive/html/help-smalltalk/2015-02/msg00001.html https://lists.gnu.org/archive/html/help-smalltalk/2015-02/msg00001.html which is the reference in gnu smalltalk mailinglists that matches the observed test failures when I build on my machine.

Toggle quote (116 lines)
> Am 28.11.2020 um 23:09 schrieb Holger Peters <holger.peters@posteo.de>:
>
> Last stable GNU smalltalk release dates back to 2013-04-08. Disabled tests as
> they were also failing for my non-guix build. Also added the latest alpha
> release as `smalltalk-next` and a build from vcs where we actually pass the
> tests.
>
> * gnu/packages/ruby.scm (smalltalk): Disable tests
> (smalltalk-next): New variable.
> (smalltalk-next-from-vcs): New variable.
> ---
> gnu/packages/smalltalk.scm | 63 +++++++++++++++++++++++++++++++++++++-
> 1 file changed, 62 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm
> index 5d35f563e2..c96f4b1730 100644
> --- a/gnu/packages/smalltalk.scm
> +++ b/gnu/packages/smalltalk.scm
> @@ -24,20 +24,26 @@
> #:use-module ((guix licenses) #:prefix license:)
> #:use-module (guix packages)
> #:use-module (guix download)
> + #:use-module (guix git-download)
> #:use-module (guix build-system cmake)
> #:use-module (guix build-system gnu)
> #:use-module (gnu packages audio)
> #:use-module (gnu packages autotools)
> #:use-module (gnu packages base)
> + #:use-module (gnu packages bison)
> #:use-module (gnu packages compression)
> + #:use-module (gnu packages flex)
> #:use-module (gnu packages fontutils)
> + #:use-module (gnu packages gettext)
> #:use-module (gnu packages gl)
> #:use-module (gnu packages glib)
> #:use-module (gnu packages libffi)
> #:use-module (gnu packages libsigsegv)
> #:use-module (gnu packages linux)
> + #:use-module (gnu packages perl)
> #:use-module (gnu packages pkg-config)
> #:use-module (gnu packages pulseaudio)
> + #:use-module (gnu packages texinfo)
> #:use-module (gnu packages xorg))
>
> (define-public smalltalk
> @@ -61,7 +67,8 @@
> (inputs
> `(("zip" ,zip)))
> (arguments
> - `(#:phases
> + `(#:tests? #f ; failing tests, 3.2.5 has been released years ago
> + #:phases
> (modify-phases %standard-phases
> (add-before 'configure 'fix-libc
> (lambda _
> @@ -145,3 +152,57 @@ also includes a customisable framework for creating dynamic HTTP servers and
> interactively extensible Web sites.")
> (home-page "http://squeakvm.org/")
> (license license:x11)))
> +
> +;;; alpha release
> +(define-public smalltalk-next
> + (package (inherit smalltalk)
> + (name "smalltalk-next")
> + (version "3.2.91")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (string-append "https://alpha.gnu.org/gnu/smalltalk/smalltalk-"
> + version ".tar.xz"))
> + (sha256
> + (base32 "1zb2h5cbz1cwybqjl24lflw359lwj7sjvvhwb4x6miypzhwq4qh0"))))))
> +
> +;;; This version from the main development branch can be built with passing
> +;;; tests
> +(define-public smalltalk-next-from-vcs
> + (let ((revision "18")
> + (commit "dfe4b5660037c4d178853ee00458a75e51a88563")
> + (git-url "git://git.sv.gnu.org/smalltalk.git"))
> + (package (inherit smalltalk)
> + (name "smalltalk-next-from-vcs")
> + (version (git-version "3.2.91" revision commit))
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url git-url)
> + (commit commit)))
> + (file-name (git-file-name name version))
> + (sha256 (base32 "11dm1qricq7fwn1gfyn9ik7f1axw7l3ivipsh11dywa42pmb5j2r"))))
> + (native-inputs
> + `(("autoconf" ,autoconf)
> + ("automake" ,automake)
> + ("libtool" ,libtool)
> + ("flex" ,flex)
> + ("texinfo" ,texinfo)
> + ("perl" ,perl)
> + ("gettext" ,gettext-minimal)
> + ("libffi" ,libffi)
> + ("libltdl" ,libltdl)
> + ("bison" ,bison)
> + ("libsigsegv" ,libsigsegv)
> + ("pkg-config" ,pkg-config)))
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-before 'configure 'fix-libc
> + (lambda _
> + (let ((libc (assoc-ref %build-inputs "libc")))
> + (substitute* "libc.la.in"
> + (("@LIBC_SO_NAME@") "libc.so")
> + (("@LIBC_SO_DIR@") (string-append libc "/lib"))))
> + #t))))))))
> +
> --
> 2.28.0
>
Attachment: file
H
H
Holger Peters wrote on 4 Dec 2020 13:06
(address . 42771@debbugs.gnu.org)
B1C40176-D9E1-425A-90C6-904D105A124F@posteo.de
Update: Better upstream reference, I will try to include a patch.



Toggle quote (121 lines)
> Am 04.12.2020 um 12:34 schrieb Holger Peters <holger.peters@posteo.de>:
>
> Investigating the test failures, I found https://lists.gnu.org/archive/html/help-smalltalk/2015-02/msg00001.html <https://lists.gnu.org/archive/html/help-smalltalk/2015-02/msg00001.html> which is the reference in gnu smalltalk mailinglists that matches the observed test failures when I build on my machine.
>
>> Am 28.11.2020 um 23:09 schrieb Holger Peters <holger.peters@posteo.de <mailto:holger.peters@posteo.de>>:
>>
>> Last stable GNU smalltalk release dates back to 2013-04-08. Disabled tests as
>> they were also failing for my non-guix build. Also added the latest alpha
>> release as `smalltalk-next` and a build from vcs where we actually pass the
>> tests.
>>
>> * gnu/packages/ruby.scm (smalltalk): Disable tests
>> (smalltalk-next): New variable.
>> (smalltalk-next-from-vcs): New variable.
>> ---
>> gnu/packages/smalltalk.scm | 63 +++++++++++++++++++++++++++++++++++++-
>> 1 file changed, 62 insertions(+), 1 deletion(-)
>>
>> diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm
>> index 5d35f563e2..c96f4b1730 100644
>> --- a/gnu/packages/smalltalk.scm
>> +++ b/gnu/packages/smalltalk.scm
>> @@ -24,20 +24,26 @@
>> #:use-module ((guix licenses) #:prefix license:)
>> #:use-module (guix packages)
>> #:use-module (guix download)
>> + #:use-module (guix git-download)
>> #:use-module (guix build-system cmake)
>> #:use-module (guix build-system gnu)
>> #:use-module (gnu packages audio)
>> #:use-module (gnu packages autotools)
>> #:use-module (gnu packages base)
>> + #:use-module (gnu packages bison)
>> #:use-module (gnu packages compression)
>> + #:use-module (gnu packages flex)
>> #:use-module (gnu packages fontutils)
>> + #:use-module (gnu packages gettext)
>> #:use-module (gnu packages gl)
>> #:use-module (gnu packages glib)
>> #:use-module (gnu packages libffi)
>> #:use-module (gnu packages libsigsegv)
>> #:use-module (gnu packages linux)
>> + #:use-module (gnu packages perl)
>> #:use-module (gnu packages pkg-config)
>> #:use-module (gnu packages pulseaudio)
>> + #:use-module (gnu packages texinfo)
>> #:use-module (gnu packages xorg))
>>
>> (define-public smalltalk
>> @@ -61,7 +67,8 @@
>> (inputs
>> `(("zip" ,zip)))
>> (arguments
>> - `(#:phases
>> + `(#:tests? #f ; failing tests, 3.2.5 has been released years ago
>> + #:phases
>> (modify-phases %standard-phases
>> (add-before 'configure 'fix-libc
>> (lambda _
>> @@ -145,3 +152,57 @@ also includes a customisable framework for creating dynamic HTTP servers and
>> interactively extensible Web sites.")
>> (home-page "http://squeakvm.org/ <http://squeakvm.org/>")
>> (license license:x11)))
>> +
>> +;;; alpha release
>> +(define-public smalltalk-next
>> + (package (inherit smalltalk)
>> + (name "smalltalk-next")
>> + (version "3.2.91")
>> + (source
>> + (origin
>> + (method url-fetch)
>> + (uri (string-append "https://alpha.gnu.org/gnu/smalltalk/smalltalk- <https://alpha.gnu.org/gnu/smalltalk/smalltalk->"
>> + version ".tar.xz"))
>> + (sha256
>> + (base32 "1zb2h5cbz1cwybqjl24lflw359lwj7sjvvhwb4x6miypzhwq4qh0"))))))
>> +
>> +;;; This version from the main development branch can be built with passing
>> +;;; tests
>> +(define-public smalltalk-next-from-vcs
>> + (let ((revision "18")
>> + (commit "dfe4b5660037c4d178853ee00458a75e51a88563")
>> + (git-url "git://git.sv.gnu.org/smalltalk.git <git://git.sv.gnu.org/smalltalk.git>"))
>> + (package (inherit smalltalk)
>> + (name "smalltalk-next-from-vcs")
>> + (version (git-version "3.2.91" revision commit))
>> + (source (origin
>> + (method git-fetch)
>> + (uri (git-reference
>> + (url git-url)
>> + (commit commit)))
>> + (file-name (git-file-name name version))
>> + (sha256 (base32 "11dm1qricq7fwn1gfyn9ik7f1axw7l3ivipsh11dywa42pmb5j2r"))))
>> + (native-inputs
>> + `(("autoconf" ,autoconf)
>> + ("automake" ,automake)
>> + ("libtool" ,libtool)
>> + ("flex" ,flex)
>> + ("texinfo" ,texinfo)
>> + ("perl" ,perl)
>> + ("gettext" ,gettext-minimal)
>> + ("libffi" ,libffi)
>> + ("libltdl" ,libltdl)
>> + ("bison" ,bison)
>> + ("libsigsegv" ,libsigsegv)
>> + ("pkg-config" ,pkg-config)))
>> + (arguments
>> + `(#:phases
>> + (modify-phases %standard-phases
>> + (add-before 'configure 'fix-libc
>> + (lambda _
>> + (let ((libc (assoc-ref %build-inputs "libc")))
>> + (substitute* "libc.la.in <http://libc.la.in/>"
>> + (("@LIBC_SO_NAME@") "libc.so")
>> + (("@LIBC_SO_DIR@") (string-append libc "/lib"))))
>> + #t))))))))
>> +
>> --
>> 2.28.0
>>
>
Attachment: file
L
L
Ludovic Courtès wrote on 5 Dec 2020 15:30
Re: bug#42771: [PATCH] Disable tests for smalltalk and add candidate releases
(name . Holger Peters)(address . holger.peters@posteo.de)(address . 42771@debbugs.gnu.org)
87mtys72bw.fsf@gnu.org
Hi Holger,

Holger Peters <holger.peters@posteo.de> skribis:

Toggle quote (4 lines)
> * gnu/packages/smalltalk.scm (smalltalk): disable tests
> (smalltalk-next): New variable.
> (smalltalk-next-from-vcs): New variable.

I have mostly two comments, as discussed on IRC (restating them here for
those following along):

1. Instead of disabling tests wholesale, what we usually do is (1)
investigate why the test is failing (I think it’s a single test
failure here), (2) try to determine whether it’s serious or not,
(3) see if we can work around it with reasonable effort, and if
not, skip just this test.

2. I think we should just have ‘smalltalk’ (latest release) and
‘smalltalk-next’ (VCS snapshot). Having an extra package for the
release candidate is not really useful IMO, and not something we
generally do.

HTH!

Ludo’.
M
M
Miguel Ángel Arruga Vivas wrote on 28 Dec 2020 12:42
Re: bug#42771: smalltalk fails to build
(name . Ludovic Courtès)(address . ludo@gnu.org)
877dp240n3.fsf_-_@gmail.com
Hi,

I've been investigating just a bit about this.

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (3 lines)
> (1) investigate why the test is failing (I think it’s a single test
> failure here),

Currently there are two main problems with 3.2.5:

- Integer multiplication overflow handling invokes undefined behavior,
which is "cleaned up" by the compiler. This is why
[ 100 fact / 99 fact ] returns <new> 0, and it's solved with the
first patch---trimmed down from the upstream patch, to avoid
conflicts.

- ANSI test suite fails with errors like these:
----------------------------------8<-----------------------------------
--- /dev/null 2020-12-24 20:38:33.836725540 +0000
+++ /tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/tests/testsuite.dir/at-groups/47/stderr 2020-12-28 09:25:57.283891452 +0000
@@ -0,0 +1,13 @@
+gst: Aborted
+gst: Error occurred while not in byte code interpreter!!
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/libgst/.libs/libgst.so.7(+0x72d97)[0x7ffff7f5ed97]
+/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6(+0x36b20)[0x7ffff7b3bb20]
+/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6(gsignal+0xca)[0x7ffff7b3baba]
+/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6(abort+0x165)[0x7ffff7b3cbf5]
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/libgst/.libs/libgst.so.7(+0x2c936)[0x7ffff7f18936]
+/gnu/store/yrwirrblml57nwga1aza6rg3l9s8qga0-libsigsegv-2.12/lib/libsigsegv.so.2(+0x128c)[0x7ffff7ee728c]
+/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6(+0x36b20)[0x7ffff7b3bb20]
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/libgst/.libs/libgst.so.7(+0x569f0)[0x7ffff7f429f0]
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/libgst/.libs/libgst.so.7(+0x72919)[0x7ffff7f5e919]
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/libgst/.libs/libgst.so.7(+0x2e4c7)[0x7ffff7f1a4c7]
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/tests/testsuite.dir/at-groups/47/test-source: line 20: 21205 Aborted $TIMEOUT gst $image_path -f $abs_srcdir/AnsiRun.st ArrayANSITest
stdout:
./testsuite.at:83: exit code was 134, expected 0
47. testsuite.at:83: 47. ArrayANSITest (testsuite.at:83): FAILED (testsuite.at:83)
---------------------------------->8-----------------------------------

Toggle quote (2 lines)
> (2) try to determine whether it’s serious or not,

The first one is pretty serious. The second one might as bad as the
first one or may be a flaw on the tests and could be omitted.

Toggle quote (3 lines)
> (3) see if we can work around it with reasonable effort, and if
> not, skip just this test.

This only should be the case when the problem is on the test side:
either it's using something we don't want to provide, as side channels,
or the check itself is buggy; never when the test is working properly
because we would be delivering buggy software after we have been warned
about it.

I cannot spot where the second error was fixed, but 3.2.91 as provided
with the second patch doesn't manifest it.

Toggle quote (5 lines)
> 2. I think we should just have ‘smalltalk’ (latest release) and
> ‘smalltalk-next’ (VCS snapshot). Having an extra package for the
> release candidate is not really useful IMO, and not something we
> generally do.

The last change made to GNU Smalltalk's master branch was more than 2
years ago, the latest change affecting executable paths was February
2017. IMHO, providing a patched release candidate (or even the
snapshot) seems the best option until the project release a new version,
as in fact we aren't providing currently a useful package.

Happy hacking!
Miguel

PS: Its build isn't reproducible:
- gst.im has inside some kind of timestamp. This probably needs
changes on the source code.
- package.xml and kernel/ folders contain different timestamps inside
dot-star files---a wrapper to zip or something like
reset-gzip-timestamps could solve this issue.
From 46809e6c265280571ff024c749c448c74af79c1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
<rosen644835@gmail.com>
Date: Mon, 28 Dec 2020 11:42:31 +0100
Subject: [PATCH 2/2] gnu: smalltalk: Update to version 3.2.91.

* gnu/packages/smalltalk.scm (smalltalk): Update to 3.2.91.

Co-Authored-By: Holger Peters <holger.peters@posteo.de>
---
gnu/packages/smalltalk.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm
index 8c152cfd04..c7c56f87b4 100644
--- a/gnu/packages/smalltalk.scm
+++ b/gnu/packages/smalltalk.scm
@@ -46,15 +46,15 @@
(define-public smalltalk
(package
(name "smalltalk")
- (version "3.2.5")
+ (version "3.2.91")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://gnu/smalltalk/smalltalk-"
+ (uri (string-append "https://alpha.gnu.org/gnu/smalltalk/smalltalk-"
version ".tar.xz"))
(sha256
(base32
- "1k2ssrapfzhngc7bg1zrnd9n2vyxp9c9m70byvsma6wapbvib6l1"))
+ "1zb2h5cbz1cwybqjl24lflw359lwj7sjvvhwb4x6miypzhwq4qh0"))
;; XXX: To be removed with the next release of Smalltalk.
(patches (search-patches "smalltalk-multiplication-overflow.patch"))))
(build-system gnu-build-system)
--
2.29.2
H
H
Holger Peters wrote on 3 Jan 2021 16:34
Re: bug#42771: [PATCH] Disable tests for smalltalk and add candidate releases
(name . Ludovic Courtès)(address . ludo@gnu.org)
93bb20f770baa66f25b1f0839794b5d4faac96c6.camel@posteo.de
Hi,

I am not sure I will have the time to solve the remaining issues,
but I would like to share some intermediate results with you.
Find attached the smalltalk file I have in my personal channel,
it contains 2 package definitions.

smalltalk-alt: corresponds to the `normal' smalltalk package with
various fixes over the one currently in gui (a) added
dependencies, (b) uses gcc-5 for building because I found a
reference in the smalltalk mailing list about newer GCC
releases optimizing some statements away that are crucial for
GNU Smalltalk to build.

As a result the test failures for intmath and others that are
present in the current `smalltalk' recipe in guix are
resolved in this variant.

Note that there are still failing tests for this release,
namely all the ANSI compliancy tests. I do feel like since
each and every one of these tests fails, it might be a
build-system-setup/autotest related failure.

`smalltalk-next' is a derived clean build from the VCS. I dropped
the pre-release build as you suggested in (2).


As for going forward I am not quite sure whether I'll find time
to do more debugging. If I were a heavy GNU Smalltalk user I'd
probably use `smalltalk-next' anyway as it seems to build
flawlessly.


-- Failing Tests for `smalltalk-alt'

ANSI compliancy tests.

47: ArrayANSITest FAILED
(testsuite.at:83)
48: ArrayFactoryANSITest FAILED
(testsuite.at:84)
49: BagANSITest FAILED
(testsuite.at:85)
50: BagFactoryANSITest FAILED
(testsuite.at:86)
51: BooleanANSITest FAILED
(testsuite.at:87)
52: ByteArrayANSITest FAILED
(testsuite.at:88)
53: ByteArrayFactoryANSITest FAILED
(testsuite.at:89)
54: CharacterANSITest FAILED
(testsuite.at:90)
55: CharacterFactoryANSITest FAILED
(testsuite.at:91)
56: DateAndTimeANSITest FAILED
(testsuite.at:92)
57: DateAndTimeFactoryANSITest FAILED
(testsuite.at:93)
58: DictionaryANSITest FAILED
(testsuite.at:94)
59: DictionaryFactoryANSITest FAILED
(testsuite.at:95)
60: DurationANSITest FAILED
(testsuite.at:96)
61: DurationFactoryANSITest FAILED
(testsuite.at:97)
62: DyadicValuableANSITest FAILED
(testsuite.at:98)
63: ErrorANSITest FAILED
(testsuite.at:99)
64: ErrorClassANSITest FAILED
(testsuite.at:100)
65: ExceptionANSITest FAILED
(testsuite.at:101)
66: ExceptionClassANSITest FAILED
(testsuite.at:102)
67: ExceptionSetANSITest FAILED
(testsuite.at:103)
68: FailedMessageANSITest FAILED
(testsuite.at:104)
69: FileStreamFactoryANSITest FAILED
(testsuite.at:105)
70: FloatANSITest FAILED
(testsuite.at:106)
71: FloatCharacterizationANSITest FAILED
(testsuite.at:107)
72: FractionANSITest FAILED
(testsuite.at:108)
73: FractionFactoryANSITest FAILED
(testsuite.at:109)
74: IdentityDictionaryANSITest FAILED
(testsuite.at:110)
75: IdentityDictionaryFactoryANSITest FAILED
(testsuite.at:111)
76: IntegerANSITest FAILED
(testsuite.at:112)
77: IntervalANSITest FAILED
(testsuite.at:113)
78: IntervalFactoryANSITest FAILED
(testsuite.at:114)
79: MessageNotUnderstoodANSITest FAILED
(testsuite.at:115)
80: MessageNotUnderstoodSelectorANSITest FAILED
(testsuite.at:116)
81: MonadicBlockANSITest FAILED
(testsuite.at:117)
82: NilANSITest FAILED
(testsuite.at:118)
83: NiladicBlockANSITest FAILED
(testsuite.at:119)
84: NotificationANSITest FAILED
(testsuite.at:120)
85: NotificationClassANSITest FAILED
(testsuite.at:121)
86: ObjectANSITest FAILED
(testsuite.at:122)
87: ObjectClassANSITest FAILED
(testsuite.at:123)
88: OrderedCollectionANSITest FAILED
(testsuite.at:124)
89: OrderedCollectionFactoryANSITest FAILED
(testsuite.at:125)
90: ReadFileStreamANSITest FAILED
(testsuite.at:126)
91: ReadStreamANSITest FAILED
(testsuite.at:127)
92: ReadStreamFactoryANSITest FAILED
(testsuite.at:128)
93: ReadWriteStreamANSITest FAILED
(testsuite.at:129)
94: ReadWriteStreamFactoryANSITest FAILED
(testsuite.at:130)
95: ScaledDecimalANSITest FAILED
(testsuite.at:131)
96: SelectorANSITest FAILED
(testsuite.at:132)
97: SetANSITest FAILED
(testsuite.at:133)
98: SetFactoryANSITest FAILED
(testsuite.at:134)
99: SortedCollectionANSITest FAILED
(testsuite.at:135)
100: SortedCollectionFactoryANSITest FAILED
(testsuite.at:136)
101: StringANSITest FAILED
(testsuite.at:137)
102: StringFactoryANSITest FAILED
(testsuite.at:138)
103: SymbolANSITest FAILED
(testsuite.at:139)
104: TranscriptANSITest FAILED
(testsuite.at:140)
105: WarningANSITest FAILED
(testsuite.at:141)
106: WarningClassANSITest FAILED
(testsuite.at:142)
107: WriteFileStreamANSITest FAILED
(testsuite.at:143)
108: WriteStreamANSITest FAILED
(testsuite.at:144)
109: WriteStreamFactoryANSITest FAILED
(testsuite.at:145)
110: ZeroDivideANSITest FAILED
(testsuite.at:146)
111: ZeroDivideFactoryANSITest FAILED
(testsuite.at:147)



On Sat, 2020-12-05 at 15:30 +0100, Ludovic Courtès wrote:
Toggle quote (22 lines)
> Hi Holger,
>
> Holger Peters <holger.peters@posteo.de> skribis:
>
> > * gnu/packages/smalltalk.scm (smalltalk): disable tests
> > (smalltalk-next): New variable.
> > (smalltalk-next-from-vcs): New variable.
>
> I have mostly two comments, as discussed on IRC (restating them here
> for
> those following along):
>
>   1. Instead of disabling tests wholesale, what we usually do is (1)
>      investigate why the test is failing (I think it’s a single test
>      failure here), (2) try to determine whether it’s serious or not,
>      (3) see if we can work around it with reasonable effort, and if
>      not, skip just this test.
>
>   2. I think we should just have ‘smalltalk’ (latest release) and
>      ‘smalltalk-next’ (VCS snapshot).  Having an extra package for
> the release candidate is not really useful IMO, and not something we
>      generally do.
(define-module (yas packages smalltalk) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages emacs) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages libffi) #:use-module (gnu packages libsigsegv) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages xorg)) (define-public smalltalk-alt (package (name "smalltalk-alt") (version "3.2.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/smalltalk/smalltalk-" version ".tar.xz")) (sha256 (base32 "1k2ssrapfzhngc7bg1zrnd9n2vyxp9c9m70byvsma6wapbvib6l1")))) (build-system gnu-build-system) (native-inputs `(("gcc@5" ,gcc-5) ("libtool" ,libtool) ("perl" ,perl) ("gettext" ,gettext-minimal) ("libffi" ,libffi) ("libltdl" ,libltdl) ("libsigsegv" ,libsigsegv) ("pkg-config" ,pkg-config))) (inputs `(("emacs" ,emacs) ("glib" ,glib) ("gtk+" ,gtk+-2) ("gnutls" ,gnutls) ("ncurses" ,ncurses) ("zip" ,zip) ("zlib" ,zlib))) (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'fix-libc (lambda _ (let ((libc (assoc-ref %build-inputs "libc"))) (substitute* "libc.la.in" (("@LIBC_SO_NAME@") "libc.so") (("@LIBC_SO_DIR@") (string-append libc "/lib")))) #t))))) (home-page "http://smalltalk.gnu.org/") (synopsis "Smalltalk environment") (description "GNU Smalltalk is a free implementation of the Smalltalk language. It implements the ANSI standard for the language and also includes extra classes such as ones for networking and GUI programming.") (license license:gpl2+))) (define-public smalltalk-next (let ((revision "18") (commit "dfe4b5660037c4d178853ee00458a75e51a88563") (git-url "git://git.sv.gnu.org/smalltalk.git")) (package (inherit smalltalk-alt) (name "smalltalk-next") (version (git-version "3.2.91" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url git-url) (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "11dm1qricq7fwn1gfyn9ik7f1axw7l3ivipsh11dywa42pmb5j2r")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) ("flex" ,flex) ("texinfo" ,texinfo) ("perl" ,perl) ("gettext" ,gettext-minimal) ("libffi" ,libffi) ("libltdl" ,libltdl) ("bison" ,bison) ("libsigsegv" ,libsigsegv) ("pkg-config" ,pkg-config))))))
-----BEGIN PGP SIGNATURE-----

iQHMBAABCgA2FiEEnW3FwBvfXG9gL3NLOZFJfLITP6cFAl/x4/IYHGhvbGdlci5w
ZXRlcnNAcG9zdGVvLmRlAAoJEDmRSXyyEz+nLnsMAKVR5POvupF3BGth0dQQ4ocs
Lzf+lkzbHzplB8220nA0WFNXxOpmiHe+O/TPjxYPN61x1R0UAbhgMb1erqodjqDM
u/j3x2H+jlFlUi1pgdW6CcJSuRYvDiH5iyXVzjsiGKGNU9l1IAroMQc61gUa159C
zB/glNc3m2fWDqV5tQuYf2+PalwWjJuOXzZpMJ9BxJ5c/vntsybgYOGBC/Hkxlgn
u2jgPI+55S07B9j8JCUxUzULUfk2TvN4YS6JyOmEUxiXk27YzZo89l+XG76lH3Yx
3wp4MVbyZE20dAwF+gqL+NLMeKuqymUPgE9MAcGRr7jA/MmBspLWLUYuaZ2iymAs
8HQk31N5fAqn6s3jrhRr0aV+7fqyc4T+u8cKXkpQZQ7hltZ++/pvOj67/DRnQ65d
/+iA4wN0TiacyGjYKkjxAIWek39beDxZVSiI89mqQDpGRayiDTEhltBKyO/xyhky
gmhjj7JTu+j6nyFPCbGkEbveWisInT0ECc33u5iDpg==
=wh6E
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 4 Jan 2021 10:28
Re: bug#42771: smalltalk fails to build
(name . Miguel Ángel Arruga Vivas)(address . rosen644835@gmail.com)
8735zhyrss.fsf@gnu.org
Hi Miguel,

Miguel Ángel Arruga Vivas <rosen644835@gmail.com> skribis:

Toggle quote (2 lines)
> I've been investigating just a bit about this.

Nice!

Toggle quote (14 lines)
> From c4385abde62bba4c634a7a874c2f431451909ec2 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
> <rosen644835@gmail.com>
> Date: Mon, 28 Dec 2020 10:36:48 +0100
> Subject: [PATCH 1/2] gnu: smalltalk: Fix integer multiplication overflow.
>
> * gnu/packages/patches/smalltalk-multiplication-overflow.patch: Patch
> from upstream commit 72ada189aba0283c551ead16635c1983968080b8.
> * gnu/packages/smalltalk.scm (smalltalk): Use patch and link with gmp
> and lightning libraries instead of the included source.
> ---
> .../smalltalk-multiplication-overflow.patch | 121 ++++++++++++++++++
> gnu/packages/smalltalk.scm | 43 ++++++-

Please make sure to add the patch to ‘gnu/local.mk’ as well. Otherwise
LGTM.

Toggle quote (10 lines)
> From 46809e6c265280571ff024c749c448c74af79c1a Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
> <rosen644835@gmail.com>
> Date: Mon, 28 Dec 2020 11:42:31 +0100
> Subject: [PATCH 2/2] gnu: smalltalk: Update to version 3.2.91.
>
> * gnu/packages/smalltalk.scm (smalltalk): Update to 3.2.91.
>
> Co-Authored-By: Holger Peters <holger.peters@posteo.de>

LGTM.

Thanks for investigating!

We can address the non-reproducibility issues separately. Perhaps you
can send your findings to bug-guix so we can keep track of it.

Ludo’.
M
M
Miguel Ángel Arruga Vivas wrote on 5 Jan 2021 13:09
(name . Ludovic Courtès)(address . ludo@gnu.org)
87h7nv37ro.fsf@gmail.com
Bonne année, Ludo!

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (17 lines)
>> From c4385abde62bba4c634a7a874c2f431451909ec2 Mon Sep 17 00:00:00 2001
>> From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
>> <rosen644835@gmail.com>
>> Date: Mon, 28 Dec 2020 10:36:48 +0100
>> Subject: [PATCH 1/2] gnu: smalltalk: Fix integer multiplication overflow.
>>
>> * gnu/packages/patches/smalltalk-multiplication-overflow.patch: Patch
>> from upstream commit 72ada189aba0283c551ead16635c1983968080b8.
>> * gnu/packages/smalltalk.scm (smalltalk): Use patch and link with gmp
>> and lightning libraries instead of the included source.
>> ---
>> .../smalltalk-multiplication-overflow.patch | 121 ++++++++++++++++++
>> gnu/packages/smalltalk.scm | 43 ++++++-
>
> Please make sure to add the patch to ‘gnu/local.mk’ as well. Otherwise
> LGTM.

Oops, I forgot about that, thank you. I've pushed with this change and
some extra comments about optional packages and closure size as
e3281657c8 to master.

Toggle quote (12 lines)
>> From 46809e6c265280571ff024c749c448c74af79c1a Mon Sep 17 00:00:00 2001
>> From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
>> <rosen644835@gmail.com>
>> Date: Mon, 28 Dec 2020 11:42:31 +0100
>> Subject: [PATCH 2/2] gnu: smalltalk: Update to version 3.2.91.
>>
>> * gnu/packages/smalltalk.scm (smalltalk): Update to 3.2.91.
>>
>> Co-Authored-By: Holger Peters <holger.peters@posteo.de>
>
> LGTM.

I've pushed this, together with a comment about reverting to the mirror
when a new release be available, as df965a54e1 to master.

Toggle quote (2 lines)
> Thanks for investigating!

I had it on my backlog from long time ago. Thank you for your
review. :-)

Toggle quote (3 lines)
> We can address the non-reproducibility issues separately. Perhaps you
> can send your findings to bug-guix so we can keep track of it.

Sure; nonetheless, I think it will relate to two more generic issues I'm
opening too.

Happy hacking!
Miguel
M
M
Miguel Ángel Arruga Vivas wrote on 5 Jan 2021 13:51
control message for bug #42771
(address . control@debbugs.gnu.org)
87ble335tp.fsf@gmail.com
tags 42771 fixed
close 42771
quit
?
Your comment

This issue is archived.

To comment on this conversation send an email to 42771@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 42771
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch