On Thu, Apr 11, 2024 at 09:04:51PM +0200, Willy Tarreau wrote: > Subject: Re: Changes in HAProxy 3.0's Makefile and build options > Hi Ilya, > > On Thu, Apr 11, 2024 at 08:27:39PM +0200, ???? ??????? wrote: > > do you know maybe how this was supposed to work ? > > haproxy/Makefile at master · haproxy/haproxy (github.com) > > <https://github.com/haproxy/haproxy/blob/master/Makefile#L499> > > That's this: > > ifneq ($(shell $(CC) $(CFLAGS) -dM -E -xc - </dev/null 2>/dev/null | grep > -c 'LOCK_FREE.*1'),0) > USE_LIBATOMIC = implicit > endif > > It calls the compiler with the known flags and checks if for this arch, > it's configured to require libatomic. > > > I had to enable atomic explicitly despite it was supposed to be detected on > > the fly (I haven't had a deeper look yet) > > > > haproxy/.github/workflows/fedora-rawhide.yml at master · haproxy/haproxy > > <https://github.com/haproxy/haproxy/blob/master/.github/workflows/fedora-rawhide.yml#L17-L18> > > I honestly don't know why it's not working, it could be useful to achive > the output of this command, either by calling it directly or for example > by inserting "tee /tmp/log |" before grep. If you have a copy of the linker > erorr you got without the lib, maybe it will reveal something. But honestly > this is a perfect example of the reasons why I prefer generic makefiles to > automatic detection: you see that you need libatomic, you add it, done. No > need to patch a configure to mask an error due to an unhandled special case > etc. The test above was mostly meant to ease the build for the most common > cases (and for me till now it has always worked, on various systems and > hardware), but I wouldn't mind too much. > > In fact you could simplify your build script by just passing > USE_LIBATOMIC=1 to enable it. > > BTW, is there a reason for "make -j3" in the build script ? Limiting oneself > to 3 build processes when modern machines rarely have less than 8 cores is > a bit of a waste of time, especially if every other package does the same > in the distro! I'd just do "make -j$(nproc)" as usual there. >
If I remember correctly github actions VMs only had 2 vCPU in the past, I think they upgraded to 4 vCPU last year but I can't find anything in their documentation. -- William Lallemand