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

Reply via email to