GNU bug report logs -
#42771
smalltalk fails to build
Previous Next
Reported by: Michael Rohleder <mike <at> rohleder.de>
Date: Sat, 8 Aug 2020 18:54:02 UTC
Severity: normal
Tags: fixed
Done: Miguel Ángel Arruga Vivas <rosen644835 <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #23 received at 42771 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi,
I've been investigating just a bit about this.
Ludovic Courtès <ludo <at> gnu.org> writes:
> (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-----------------------------------
> (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.
> (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.
> 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.
[0001-gnu-smalltalk-Fix-integer-multiplication-overflow.patch (text/x-patch, attachment)]
[0002-gnu-smalltalk-Update-to-version-3.2.91.patch (text/x-patch, attachment)]
This bug report was last modified 4 years and 193 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.