chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ANN] CHICKEN 5.4.0 release candidate 2 available


From: Kristian Lein-Mathisen
Subject: Re: [ANN] CHICKEN 5.4.0 release candidate 2 available
Date: Sun, 30 Jun 2024 08:49:58 +0200

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 <peter@more-magic.net> 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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]