On FreeBSD 14.0, rebuilding system and now regenerating all my code.
Compiling lisp code yields
Subprocess #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {102F532DA3}>
with command ("cc" "-o"
"/home/wglb/.cache/common-lisp/sbcl-2.4.0-bsd-x64/home/wglb/quicklisp/dists/quicklisp/software/iolib-v0.8.4/src/syscalls/ffi-types-unix__grovel-tmpOPCILR65.o"
"-c" "-g" "-Wall" "-Wundef" "-Wsign-compare"
"-Wpointer-arith" "-O3" "-fno-omit-frame-pointer"
"-fPIC"
"-I/home/wglb/quicklisp/dists/quicklisp/software/cffi-20231021-git/"
"/home/wglb/.cache/common-lisp/sbcl-2.4.0-bsd-x64/home/wglb/quicklisp/dists/quicklisp/software/iolib-v0.8.4/src/syscalls/ffi-types-unix__grovel.c")
exited with error code 1
[Condition of type CFFI-GROVEL:GROVEL-ERROR]
Running this by hand with the command clarifies the errors a bit:
/home/wglb/.cache/common-lisp/sbcl-2.4.0-bsd-x64/home/wglb/quicklisp/dists/quicklisp/software/iolib-v0.8.4/src/syscalls/ffi-types-unix__grovel.c:6:10: fatal error: 'lfp.h' file not found
#include <lfp.h>
^~~~~~~
1 error generated.
Modifying the above compile to modify the include path:
"cc" "-o" "/home/wglb/.cache/common-lisp/sbcl-2.4.0-bsd-x64/home/wglb/quicklisp/dists/quicklisp/software/iolib-v0.8.4/src/syscalls/ffi-types-unix__grovel-tmpMAMO3XGR.o" \
"-c" "-g" "-Wall" "-Wundef" "-Wsign-compare" \
"-Wpointer-arith" "-O3" "-fno-omit-frame-pointer" \
"-fPIC" \
-I/usr/local/include/ \
"-I/home/wglb/quicklisp/dists/quicklisp/software/cffi-20231021-git/" \
"/home/wglb/.cache/common-lisp/sbcl-2.4.0-bsd-x64/home/wglb/quicklisp/dists/quicklisp/software/iolib-v0.8.4/src/syscalls/ffi-types-unix__grovel.c" \
Gives the warnings
/home/wglb/.cache/common-lisp/sbcl-2.4.0-bsd-x64/home/wglb/quicklisp/dists/quicklisp/software/iolib-v0.8.4/src/syscalls/ffi-types-unix__grovel.c:5980:6: warning: ordered comparison between pointer and integer
('__sighandler_t *' (aka 'void (*)(int)') and 'long long')
if(_64_BIT_VALUE_FITS_SIGNED_P(SIG_IGN))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/wglb/quicklisp/dists/quicklisp/software/cffi-20231021-git/grovel/common.h:19:54: note: expanded from macro '_64_BIT_VALUE_FITS_SIGNED_P'
#define _64_BIT_VALUE_FITS_SIGNED_P(value) ( (value) <= 0x7FFFFFFFFFFFFFFFLL )
~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~
/home/wglb/.cache/common-lisp/sbcl-2.4.0-bsd-x64/home/wglb/quicklisp/dists/quicklisp/software/iolib-v0.8.4/src/syscalls/ffi-types-unix__grovel.c:5994:6: warning: ordered comparison between pointer and integer
('__sighandler_t *' (aka 'void (*)(int)') and 'long long')
if(_64_BIT_VALUE_FITS_SIGNED_P(SIG_DFL))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/wglb/quicklisp/dists/quicklisp/software/cffi-20231021-git/grovel/common.h:19:54: note: expanded from macro '_64_BIT_VALUE_FITS_SIGNED_P'
#define _64_BIT_VALUE_FITS_SIGNED_P(value) ( (value) <= 0x7FFFFFFFFFFFFFFFLL )
~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~
/home/wglb/.cache/common-lisp/sbcl-2.4.0-bsd-x64/home/wglb/quicklisp/dists/quicklisp/software/iolib-v0.8.4/src/syscalls/ffi-types-unix__grovel.c:6235:6: warning: ordered comparison between pointer and integer ('void *' and 'long long')
if(_64_BIT_VALUE_FITS_SIGNED_P(MAP_FAILED))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/wglb/quicklisp/dists/quicklisp/software/cffi-20231021-git/grovel/common.h:19:54: note: expanded from macro '_64_BIT_VALUE_FITS_SIGNED_P'
#define _64_BIT_VALUE_FITS_SIGNED_P(value) ( (value) <= 0x7FFFFFFFFFFFFFFFLL )
~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~
/home/wglb/.cache/common-lisp/sbcl-2.4.0-bsd-x64/home/wglb/quicklisp/dists/quicklisp/software/iolib-v0.8.4/src/syscalls/ffi-types-unix__grovel.c:18:7: warning: unused variable 'autotype_tmp' [-Wunused-variable]
int autotype_tmp;
^
4 warnings generated.
If I load the package cffi-toolchain, and call (default-coolchain-parameters), then the value of cc-flags shows up as
("-m64" "-I" "/usr/local/include/")
So it isn't clear why the compile doesn't seem to pick that up.
On FreeBSD 14.0, rebuilding system and now regenerating all my code.
Compiling lisp code yields
Running this by hand with the command clarifies the errors a bit:
Modifying the above compile to modify the include path:
Gives the warnings
If I load the package cffi-toolchain, and call
(default-coolchain-parameters), then the value of cc-flags shows up as("-m64" "-I" "/usr/local/include/")So it isn't clear why the compile doesn't seem to pick that up.