Hi, I've been investigating just a bit about this. Ludovic Courtès 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 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.