bit one Q/ in FFI API manual we have info: "
C_c_string <https://wiki.call-cc.org/man/6/C%20interface#c_c_string>
[C function] char* C_c_string (C_word string)
These macros and functions can be used to convert Scheme data objects back
to C data. Note that C_c_string() returns a pointer to the character buffer
of the actual Scheme object and is not zero-terminated."
but in runtime.c:11973+ we have
11973 C_char *topname = (C_char *)C_c_string(entry);
11974 C_char *mname = (C_char *)C_c_string(name);
11975 C_char *tmp;
11976 int tmp_len = 0;
11977
11978 if((handle = C_dlopen(mname, dlopen_flags)) != NULL) {
11979 if((p = C_dlsym(handle, topname)) == NULL) {
...
like C_c_string returns zero terminated strings we pass strat to C_dlopen,
C_dlsym...
And CSI is not loading shared .so on msys2. questionable?
пн, 23 июн. 2025 г. в 21:56, Anton Idukov <[email protected]>:
> Maybe this strange behavior of C6pre on MSYS2 * is a consequence of what
> Felix said before: " Make sure you update to the newest CHICKEN 6 version
> from git. We made
> some user-visible changes to the process API from (chicken process) and
> CRUNCH uses this API. " from the CRUNCH testing mail branch?
>
> PS. strange behavior of the C6pre on my windows laptop: 1) When I import
> my separate module .so into my main.scm and compile just by csc6 main.scm,
> resulted process 'main' silently ends after start. 2) I cannot build a
> static module version, the compiler barks when it makes an object file of a
> module. 3) But I can make a static one-file executable. 4) Which way slower
> ~10x runs on msys, against the linux version.
> PPS. Windows OS is not super comfortable, side note.
>
> вс, 22 июн. 2025 г. в 12:35, Anton Idukov <[email protected]>:
>
>> make check .... Error 127. This is [MSYS2 UCRT64 environment]. For
>> note, good old chicken-5.4.0 not even built on this msys2
>>
>> вс, 22 июн. 2025 г., 11:27 <[email protected]>:
>>
>>> > Hi! On my linux Wine is not installs msys (process sits in memory with
>>> 99%
>>> > cpu), so I unpack fresh chip laptop with latest win11 and install
>>> MSYS2 and
>>> > next install gcc and git, what's the next steps? (I develop some c
>>> code on
>>> > windows about 4 years ago)
>>>
>>> You'll need w64devkit (see the CHICKEN README for information) and
>>> a distribution tarball with the newest changes, which can be found here:
>>>
>>>
>>> http://www.call-with-current-continuation.org/chicken-6-prelim.tar.gz
>>>
>>> If you unpack the archive and build it, you will get a "chicken.exe"
>>> binary that you can then use to bootstrap the system from the
>>> git sources. If you then run "make check" you will quickly run into
>>> errors and can then continue to investigate.
>>>
>>> Your help is much appreciated! Please ask, if there are any questions.
>>>
>>>
>>> felix
>>>
>>>