Hi,

That recipe builds fine in my somewhat minimal Centos 7.9 container.
Looking at the build log, mine has a largely no-op seccomp.c​ as the system 
doesn't have libseccomp(-devel) installed.

I can reproduce the failure if I go and pollute my container with 
libsseccomp-devel.

When the build detects seccomp on the system, it builds that source file and as 
it assumes the existence of syscalls that the ancient kernel headers on 7.9 
doesn't have, it breaks.

Maybe consider either removing the development headers for libseccomp or patch 
out the ineligible lines.

// Lars Viklund, HPC2N
________________________________
From: [email protected] <[email protected]> on 
behalf of Loris Bennett <[email protected]>
Sent: Wednesday, May 24, 2023 11:49
To: [email protected] <[email protected]>
Subject: Re: [easybuild] file-5.43-GCCcore-11.3.0.eb failure: __NR_statx 
undeclared

Åke Sandgren <[email protected]> writes:

> Which OS is this?

CentOS 7.9

> I see no problems on Ubuntu 20.04 or 22.04
>
> ________________________________________
> From: [email protected] <[email protected]> on 
> behalf of Loris Bennett <[email protected]>
> Sent: Wednesday, May 24, 2023 8:24
> To: easybuild
> Subject: [easybuild] file-5.43-GCCcore-11.3.0.eb failure: __NR_statx 
> undeclared
>
> Hi,
>
> The following
>
>   eb file-5.43-GCCcore-11.3.0.eb
>
> fails with
>
>   In file included from seccomp.c:34:
>   seccomp.c: In function enable_sandbox_full:
>   seccomp.c:50:52: error: __NR_statx undeclared (first use in this function); 
> did you mean __lxstat?
>      50 |         if (seccomp_rule_add (ctx, SCMP_ACT_ALLOW, SCMP_SYS(call), 
> 0) == -1) \
>         |                                                    ^~~~~~~~
>   seccomp.c:230:9: note: in expansion of macro ALLOW_RULE
>     230 |         ALLOW_RULE(statx);
>         |         ^~~~~~~~~~
>   seccomp.c:50:52: note: each undeclared identifier is reported only once for 
> each function it appears in
>      50 |         if (seccomp_rule_add (ctx, SCMP_ACT_ALLOW, SCMP_SYS(call), 
> 0) == -1) \
>         |                                                    ^~~~~~~~
>   seccomp.c:230:9: note: in expansion of macro ALLOW_RULE
>     230 |         ALLOW_RULE(statx);
>         |         ^~~~~~~~~~
>   make[3]: *** [seccomp.o] Error 1
>
> Any ideas what might be going wrong?
>
> Cheers,
>
> Loris
>
> --
> Dr. Loris Bennett (Herr/Mr)
> ZEDAT, Freie Universität Berlin
--
Dr. Loris Bennett (Herr/Mr)
ZEDAT, Freie Universität Berlin

Reply via email to