> > It broke the CI on the "all features" build: > > > https://github.com/haproxy/haproxy/actions/runs/7671640626/job/20910459829 > > /usr/bin/ld: cannot find -lcurl: No such file or directory > /usr/bin/ld: cannot find -lzip: No such file or directory > > I'm surprised because CURL_LDFLAGS and LDFLAGS didn't change from the > previous > one: > > -CURL_LDFLAGS := $(shell $(CURL_CONFIG) --libs 2>/dev/null || echo -L > /usr/local/lib -lcurl) > -LDFLAGS += $(CURL_LDFLAGS) $(PCRE2_LDFLAGS) -lz -lzip -lpthread > > +CURL_LDFLAGS := $(shell $(CURL_CONFIG) --libs 2>/dev/null || echo -L > /usr/local/lib -lcurl) > +OPTIONS_LDFLAGS += $(CURL_LDFLAGS) -lz -lzip -lpthread > > I guess it's definitely because these libs are not in the VM, and maybe > they'll either need to be added or we need to make it possible to disable > them (particularly if they were not needed previously), but if you could > figure why it used to work previously, that would be great. > >
> OK that's it, the flags were only used to build "dadwsch". > Yes indeed that s exactly it, the module does not use curl capabilities to function, its optional ans I see we do not compile the optional compilation unit for it anyway. You guessed it right. Thanks again ! > > Apparently there's no longer such a utility in the dummy directory, nor > is there anything providing a main() anymore, so we can safely get rid > of these build flags, right ? With this it looks like it fixes it: > > diff --git a/addons/deviceatlas/Makefile.inc > b/addons/deviceatlas/Makefile.inc > index 63719bf50..8b29559f2 100644 > --- a/addons/deviceatlas/Makefile.inc > +++ b/addons/deviceatlas/Makefile.inc > @@ -4,19 +4,12 @@ > CXX := c++ > CXXLIB := -lstdc++ > > -CURL_CONFIG := curl-config > -CURLDIR := $(shell $(CURL_CONFIG) --prefix 2>/dev/null || echo > /usr/local) > -CURL_INC := $(CURLDIR)/include > -CURL_LIB := $(CURLDIR)/lib > -CURL_LDFLAGS := $(shell $(CURL_CONFIG) --libs 2>/dev/null || echo -L > /usr/local/lib -lcurl) > - > ifeq ($(DEVICEATLAS_SRC),) > OPTIONS_LDFLAGS += -lda > else > DEVICEATLAS_INC = $(DEVICEATLAS_SRC) > DEVICEATLAS_LIB = $(DEVICEATLAS_SRC) > -OPTIONS_LDFLAGS += $(CURL_LDFLAGS) -lz -lzip -lpthread > -OPTIONS_CFLAGS += -DDATLAS_CURL -DDATLAS_CURLSSET -DDATLAS_GZ > -DDATLAS_ZIP > +OPTIONS_LDFLAGS += -lpthread > OPTIONS_CFLAGS += -I$(DEVICEATLAS_INC) -I$(CURL_INC) > ifeq ($(DEVICEATLAS_NOCACHE),) > CXXFLAGS := $(OPTIONS_CFLAGS) -std=gnu++11 > > $ ldd ./haproxy > linux-vdso.so.1 (0x00007ffc82b2e000) > libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0863fc4000) > libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f0863c43000) > libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f0863a0b000) > libssl.so.1 => /lib64/libssl.so.1 (0x00007f0863798000) > libcrypto.so.1 => /lib64/libcrypto.so.1 (0x00007f0863340000) > libdl.so.2 => /lib64/libdl.so.2 (0x00007f086313c000) > librt.so.1 => /lib64/librt.so.1 (0x00007f0862f34000) > libm.so.6 => /lib64/libm.so.6 (0x00007f0862c2b000) > libpcreposix.so.0 => /lib64/libpcreposix.so.0 (0x00007f0862a28000) > libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f08627b6000) > libc.so.6 => /lib64/libc.so.6 (0x00007f08623ed000) > /lib64/ld-linux-x86-64.so.2 (0x00007f08641e1000) > libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f08621d6000) > > What do you think ? > > Willy >