Re: git: e2650af157bc - main - Make CPU_SET macros compliant with other implementations

From: Stefan Esser <se_at_freebsd.org>
Date: Sun, 02 Jan 2022 22:33:22 UTC
Am 02.01.22 um 22:45 schrieb Stefan Esser:
> Am 02.01.22 um 20:51 schrieb Antoine Brodin:
[...]
>> http://beefy18.nyi.freebsd.org/data/main-amd64-default/pe2d17ded99d5_s5169832c96/logs/errors/slurm-wlm-20.02.7.log
> 
> This is easily fixed with this patch:
> 
> --- src/plugins/task/affinity/affinity.c.orig	2021-05-12 20:23:20 UTC
> +++ src/plugins/task/affinity/affinity.c
> @@ -297,7 +297,7 @@ void reset_cpuset(cpu_set_t *new_mask, cpu_set_t *cur_
>  	if (slurm_getaffinity(1, sizeof(full_mask), &full_mask)) {
>  		/* Try to get full CPU mask from process init */
>  		CPU_ZERO(&full_mask);
> -#ifdef __FreeBSD__
> +#if defined(__FreeBSD__) && !defined(CPU_ALLOC)
>  		CPU_OR(&full_mask, cur_mask);
>  #else
>  		CPU_OR(&full_mask, &full_mask, cur_mask);
> 
> This effectively removes the conditional compilation that was
> required due to the different CPU_OR signature.
> 
> BUT: There are many other build issues in this port, that do not
> depend on the CPU_SET macros.
> 
> Since the build succeeds on -STABLE, there must be other changes
> in the build configuration on -CURRENT, which lead to #include of
> Linux specific headers and try to use pushd/popd in /bin/sh (under
> the assumption of Bash installed as /bin/sh).
> 
> I'll look into these issues, but they must be somewhere in the
> build system, not the sources being compiled.
> 
> I'm sure that the patch above is required, but I'm not going to
> commit it right now, since I want to understand the other build
> issues first.

I have committed the patch as addda1277abe, together with a small
change that prevents the configure script from enabling the build
of slurmrestd if GLIB is found (as may be the case when building
with "make" in the port directory instead of with poudriere).

Regards, STefan