I wrote, 2021-07-14 20:57: > Hello. > > I saw that bigloo after 4.4b uses pcre2 by default. > As I want/have to avoid heavy dependencies, I tried > to add --disable-pcre2 to my standard --disable-pcre in > my configure call. > But the make step fails as follows: > > /usr/bin/ld: Cgen/cgen.o: in function > `BGl_modulezd2initializa7ationz75zzcgen_cgenz00': > cgen.c:(.text+0xd21): undefined reference to > `BGl_modulezd2initializa7ationz75zz__regexpz00' > /usr/bin/ld: cgen.c:(.text+0x1310): undefined reference to > `BGl_pregexpz00zz__regexpz00' > /usr/bin/ld: Cgen/cgen.o: in function > `BGl_cgenzd2functionzd2zzcgen_cgenz00.part.0': > cgen.c:(.text+0x46bd): undefined reference to > `BGl_pregexpzd2replaceza2z70zz__regexpz00' > /usr/bin/ld: /var/tmp/bigloo/lib/bigloo/4.4c/libbigloo_s-4.4c.a(evprimop.o): > in function `BGl_importedzd2moduleszd2initz00zz__evprimopz00.isra.0': > evprimop.c:(.text+0x200): undefined reference to > `BGl_modulezd2initializa7ationz75zz__regexpz00' > /usr/bin/ld: /var/tmp/bigloo/lib/bigloo/4.4c/libbigloo_s-4.4c.a(evprimop.o): > in function `BGl_modulezd2initializa7ationz75zz__evprimopz00': > evprimop.c:(.text+0xb5b1): undefined reference to > `BGl_pregexpzd2matchzd2envz00zz__regexpz00' > /usr/bin/ld: evprimop.c:(.text+0xce47): undefined reference to > `BGl_pregexpzd2splitzd2envz00zz__regexpz00' > /usr/bin/ld: evprimop.c:(.text+0xe1bd): undefined reference to > `BGl_pregexpzd2matchzd2positionszd2envzd2zz__regexpz00' > /usr/bin/ld: evprimop.c:(.text+0xe8b6): undefined reference to > `BGl_pregexpzd2matchzd2nzd2positionsz12zd2envz12zz__regexpz00' > /usr/bin/ld: evprimop.c:(.text+0xec13): undefined reference to > `BGl_pregexpzd2replaceza2zd2envza2zz__regexpz00' > /usr/bin/ld: evprimop.c:(.text+0xf8cd): undefined reference to > `BGl_regexpzf3zd2envz21zz__regexpz00' > /usr/bin/ld: evprimop.c:(.text+0xfb35): undefined reference to > `BGl_pregexpzd2quotezd2envz00zz__regexpz00' > /usr/bin/ld: evprimop.c:(.text+0x10eea): undefined reference to > `BGl_regexpzd2capturezd2countzd2envzd2zz__regexpz00' > /usr/bin/ld: evprimop.c:(.text+0x1244f): undefined reference to > `BGl_pregexpzd2replacezd2envz00zz__regexpz00' > /usr/bin/ld: evprimop.c:(.text+0x12bcc): undefined reference to > `BGl_pregexpzd2envzd2zz__regexpz00' > /usr/bin/ld: evprimop.c:(.text+0x15620): undefined reference to > `BGl_regexpzd2patternzd2envz00zz__regexpz00' > /usr/bin/ld: /var/tmp/bigloo/lib/bigloo/4.4c/libbigloo_s-4.4c.a(intext.o): in > function `BGl_readzd2itemze70z35zz__intextz00': > intext.c:(.text+0x5a46): undefined reference to `BGl_pregexpz00zz__regexpz00' > collect2: error: ld returned 1 exit status > make[2]: *** [Makefile:646: doboot.static] Error 1 > make[2]: Leaving directory '/var/tmp/bigloo/comptime' > make[1]: *** [Makefile:635: boot] Error 2 > make[1]: Leaving directory '/var/tmp/bigloo/comptime' > make: *** [Makefile:189: boot-c] Error 2
I found a work-around that just adds the missing pregexp.o: --- runtime/Makefile.orig 2021-09-03 15:20:40.000000000 +0200 +++ runtime/Makefile 2021-09-04 11:31:54.453565394 +0200 @@ -327,7 +327,7 @@ OBJECTS = $(C_CLIB:%.c=objs/$(OBJDIR_SY objs/$(OBJDIR_SYS)/Mlib/mach_dep.o \ $(SCM_SYS_SRC:%.scm=objs/$(OBJDIR_SYS)/%.o) \ $(SCM_USR_SRC:%.scm=objs/$(OBJDIR_USR)/%.o) \ - objs/$(OBJDIR_SYS)/Unsafe/regexp.o + objs/$(OBJDIR_SYS)/Unsafe/regexp.o objs/$(OBJDIR_SYS)/Unsafe/pregexp.o GCSTDOBJECTS = $(GCSTDOBJ:%.o=objs/$(OBJDIR_SYS)/%.o) Manuel, I don't know where this should be fixed properly. Greetings Sven