Hello, I have git cloned GCL from savannah to build FriCAS with it. In fact, I told here that gcl-2.7.0 compiles smoothly FriCAS but I was totally wrong, I did not know that the GCL binary in the Debian package is 'gcl27' so gcl-2.6.14 was picked up when I wanted to test GCL 2.7 with FriCAS and I did not noticed that. This was principally to test the build and some FriCAS test files.
And it seems to me there are some strange things with the header file cmpinclude.h. During the compilation of a CL file, namely fricas-lisp.lisp in FriCAS (https://github.com/fricas/fricas/blob/master/src/lisp/fricas-lisp.lisp) some declarations are not present and the build process chocks. Here are several errors that stop the build for example: ============================================== ;; End of Pass 2. /home/greg/Git/jlfricas/src/lisp/fricas-lisp.c: In function ‘sock_get_string_buf_wrapper’: /home/greg/Git/jlfricas/src/lisp/fricas-lisp.c:2157:29: warning: implicit declaration of function ‘FEwrong_type_argument’ [-Wimplicit-function-declaration] 2157 | { if (type_of(x)!=t_string) FEwrong_type_argument(sLstring,x); | ^~~~~~~~~~~~~~~~~~~~~ /home/greg/Git/jlfricas/src/lisp/fricas-lisp.c:2157:51: error: ‘sLstring’ undeclared (first use in this function); did you mean ‘ustring’? 2157 | { if (type_of(x)!=t_string) FEwrong_type_argument(sLstring,x); | ^~~~~~~~ | ustring /home/greg/Git/jlfricas/src/lisp/fricas-lisp.c:2157:51: note: each undeclared identifier is reported only once for each function it appears in /home/greg/Git/jlfricas/src/lisp/fricas-lisp.c:2159:64: error: macro "FEerror" requires 3 arguments, but only 2 given 2159 | FEerror("string too small in sock_get_string_buf_wrapper",0); | ^ In file included from /home/greg/Git/jlfricas/src/lisp/fricas-lisp.c:2: /usr/lib/gcl-2.7.0/unixport/../h/cmpinclude.h:87: note: macro "FEerror" defined here 87 | #define FEerror(a,b,c) Icall_gen_error_handler_noreturn(((object)&Cnil_body),null_string,sLerror,null_string,4,sKformat_control,make_simple_string(a),sKformat_arguments,list(b,c)) | /home/greg/Git/jlfricas/src/lisp/fricas-lisp.c:2159:5: error: ‘FEerror’ undeclared (first use in this function); did you mean ‘sLerror’? 2159 | FEerror("string too small in sock_get_string_buf_wrapper",0); | ^~~~~~~ | sLerror ======================================================= The output of the build process is attached for convenience. For simplicity I have also attached the .c and .h files. What seems strange to me is that if I quickly look at the cmpinclude.h file from gcl-2.6.14 those 'undeclared types/macros/...' seem to be all declared. I have no idea how this header file is produced, and if the problem comes from it, but attached files could eventually help. Regards, - Greg
Make.log.gz
Description: GNU Zip compressed data
fricas-lisp.c.gz
Description: GNU Zip compressed data
fricas-lisp.h.gz
Description: GNU Zip compressed data