Re: [ANN] CHICKEN 5.4.0 release candidate 2 available

Kristian Lein-Mathisen <[email protected]>
Newsgroups gmane.lisp.scheme.chicken
Message-ID <CAAGQtHxCaykDhMhJU4zqBoXLcK+r5n4OSPtCnmu---dEjTcKZw@mail.gmail.com>
Hi!

Here are my results on Termux (the Android app). I stumbled upon a build
issue but I don't think it's release-candidate material. But in case it is
useful, I thought I'd include it here:

ld.lld: error: undefined reference due to --no-allow-shlib-undefined:
__android_log_vprint

The build system correctly detects __ANDROID__, but incorrectly assumes
__android_log_vprint is available. `-llog` is needed and not on by default
on Termux it seems. However, while it's useful to replace stdout/stderr on
Android NDK-builds where stdio goes to nowhere, it is available on Termux
which should not require special care.

This error is prabably not new to 5.4.0rc2.

=== My Termux workaround

Patch for testing, not for submission:

diff -U3 runtime.c\~ runtime.c                           --- runtime.c~
2024-06-25
+++ runtime.c   2024-06-27
@@ -591,7 +591,7 @@                                     va_list va;
 va_start(va, fstr);
-#ifdef __ANDROID__
+#ifdef __ANDROID_IGNOREME137__
     __android_log_vprint(ANDROID_LOG_DEBUG, prefix, fstr, va);
 #else
 C_fflush(C_stdout);
===

Perhaps there is a preprocessor define, something like __NDK__, that will
both replace stdio with Android logging for standalone apps and build
normallc on Termux. With that simple patch in place however, everything
worked as expected.

W: Termux (arm64)
OS: Android
CC: clang 18.1.6

Installation works?: yes
Tests work?: yes
Installation and tests of "pastiche" egg works?: yes

I built with:
make PLATFORM=linux install check

===

I also have a question about this line in the changelog: "Added support for
embedded strings and characters in SRFI-4 vector".  this seems very neat!
But why doesn't it also work in the runtime u8vector constructor? Srfi-4
vector literals are limited in that they can contain only other literals,
not arbitrary expressions so I tend to not use them.

#;2> #u8(1 "hello")
#u8(1 104 101 108 108 111)
#;3> (u8vector 1 "hello")
Error: (u8vector-set!) bad argument type: "hello"

Thanks,
K.

On Tue, Jun 25, 2024, 10:22 Peter Bex <[email protected]> wrote:

> Hello all,
>
> The second release candidate for CHICKEN 5.4.0 is now available for
> download:
>
>
> https://code.call-cc.org/dev-snapshots/2024/06/25/chicken-5.4.0rc2.tar.gz
>
> The sha256sum of that tarball is:
>
>   4733f7eaffbb9917605314fbc820ae693cb05a4d6829a229b0340ecd81479d72
>
> The list of changes since 5.3.0 and 5.4.0rc1 is available here:
>
>   https://code.call-cc.org/dev-snapshots/2024/06/25/NEWS
>
> This release candidate fixes a problem with chicken-install on
> Windows when using the native shell, which would lead to empty .egg-info
> files.  The other fixes are all minor, mostly fixing build and test
> suite issues.
>
> Please give it a test and report your findings to the mailing list.
>
> Here's a suggested test procedure:
>
>   $ make PREFIX=<some dir> install check
>   $ <some dir>/bin/chicken-install pastiche
>
> If you want to build CHICKEN with a compiler other than the default one,
> just use C_COMPILER=<the compiler> (e.g., C_COMPILER=clang) on the make
> invocation.
>
> Of course, feel free to explore other supported build options (see the
> README file for more information) and actually use CHICKEN 5.3.0rc2 for
> your software.
>
> If you can, please let us know the following information about the
> environment you tested the RC tarball on:
>
> Operating system: (e.g., FreeBSD 14.0, Debian 12, Windows 11 mingw-msys
> under
> mingw32)
> Hardware platform: (e.g., x86, x86-64, PPC)
> C Compiler: (e.g., GCC 11.3.0, clang 16.0.6)
> Installation works?: yes or no
> Tests work?: yes or no
> Installation of eggs works?: yes or no
>
> Thanks in advance!
>
> The CHICKEN Team
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.