GCL 2.7.1 cannot be compiled from source on Arch Linux and likely other 
distributions (except Debian). I successfully compiled GCL 2.7.1 on Arch Linux 
and created a patch that fixes the issue.

My gcc version is:
gcc (GCC) 15.2.1 20260209

Commands used:

patch -p1 -i gcl.patch

./configure --prefix=/home/Devel/Desktop/gcl-2.7.1/build && make install

Binary is then produced in build/bin. However, I could not replicate that in a 
PKGBUILD. If you try to do the exact same thing in a PKGBUILD, you'd get 
something like that:

;; End of Pass 2.  
OPTIMIZE levels: Safety=3, Space=0, Speed=3
;; Finished compiling gcl0/gcl_cmptype.o.
[ "gcl_cmptype" = "gcl_c" ] || [ "gcl_cmptype" = "gcl_listlib" ] || \
        ln -f gcl0/gcl_cmptype.o $(echo gcl0/gcl_cmptype.o |sed 
's,\.o,\.done,g') #FIXME directory link
rm unixport/raw_pre_gcl
make[1]: Leaving directory '/home/Devel/Desktop/gcla/src/gcl-2.7.1/build'
make: *** [Makefile:1044: all] Error 2


Best wishes!
Only in gcl-2.7.1Patched: gcl.patch
diff -ur gcl-2.7.1/git.tag gcl-2.7.1Patched/git.tag
--- gcl-2.7.1/git.tag	2025-04-11 04:38:16.941521547 +0300
+++ gcl-2.7.1Patched/git.tag	2026-03-31 18:11:47.404748002 +0300
@@ -1,2 +1,2 @@
-"Version_2_7_0"
+"Version_2_7_1"

diff -ur gcl-2.7.1/h/protoize.h gcl-2.7.1Patched/h/protoize.h
--- gcl-2.7.1/h/protoize.h	2025-03-19 16:56:47.146952854 +0200
+++ gcl-2.7.1Patched/h/protoize.h	2026-03-30 21:01:13.761309841 +0300
@@ -73,7 +73,6 @@
 /* bind.c:975:OF */ extern void set_key_struct (struct key *ks, object data); /* (ks, data) struct key *ks; object data; */
 /* bind.c:995:OF */ extern void gcl_init_bind (void); /* () */
 /* block.c:121:OF */ extern void gcl_init_block (void); /* () */
-/* bsearch.c:5:OF */ extern void *bsearch (const void *key, const void *base, size_t nel, size_t keysize, int (*compar) (const void *,const void *)); /* (key, base, nel, keysize, compar) char *key; char *base; unsigned int nel; unsigned int keysize; int (*compar)(); */
 #if defined (__MINGW32__)
 /* bzero.c:3:OF */ /*  extern void bzero (char *b, size_t length); */ /* (b, length) char *b; int length; */
 #endif
diff -ur gcl-2.7.1/o/alloc.c gcl-2.7.1Patched/o/alloc.c
--- gcl-2.7.1/o/alloc.c	2025-04-11 03:57:51.833790576 +0300
+++ gcl-2.7.1Patched/o/alloc.c	2026-03-30 21:01:13.761309841 +0300
@@ -707,6 +707,7 @@
   for (;!rb_emptyp();) {
     tm_table[t_relocatable].tm_adjgbccnt--;
     expand_contblock_index_space();
+    expand_contblock_array();
     GBC(t_relocatable);
   }
   sSAleaf_collection_thresholdA->s.s_dbind=o;

Reply via email to