Re: sandbox egg: unusual build failure when trying to port to CHICKEN 6

Felix Winkelmann via Chicken-users <[email protected]>
Newsgroups gmane.lisp.scheme.chicken
Message-ID <[email protected]>
On Sat Nov 15, 2025 at 11:32 PM CET, afiw via Chicken-users wrote:
>
> I'm trying to get the sandbox egg to build under CHICKEN 6. Replacing the scheme import with (scheme base) (scheme cxr) (scheme write) makes it compile to C with no errors, but it fails during C compilation:
> $ /opt/chicken-6.0.0pre2/bin/chicken-install -n
> building sandbox
>   /opt/chicken-6.0.0pre2/bin/csc -host -D compiling-extension -J -s -regenerate-import-libraries -setup-mode -I /home/caelorum/.cache/chicken-install/sandbox -C -I/home/caelorum/.cache/chicken-install/sandbox -O3 -d1 sandbox.scm -o /home/caelorum/.cache/chicken-install/sandbox/sandbox.so
> /home/caelorum/.cache/chicken-install/sandbox/sandbox.c:14375:49: error: 
>      call to undeclared function 'C_substring_compare'; ISO C99 and later do
>      not support implicit function declarations
>      [-Wimplicit-function-declaration]
> 14375 | av2[1]=(C_truep(C_byteblockp(((C_word*)t0)[3]))?C_substring_compare(((C...
>       |                                                 ^
> 1 error generated.

Hi!

Since C6 now uses UTF-8 strings, all the internal string-comparison
machinery is obsolete, so the comparison needs to be done either as
a raw bytevector comparison, or using the UTF support functions
in utf.c. So in this case, you should probably use "C_bv_compare"
(I assume this is the use of C_substring_compare in the equality
check that triggers the error).


cheers,
felix
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.