diff mbox series

[iproute2] configure: Remove include <sys/stat.h>

Message ID 20221221225304.3477126-1-hauke@hauke-m.de (mailing list archive)
State Superseded
Delegated to: Stephen Hemminger
Headers show
Series [iproute2] configure: Remove include <sys/stat.h> | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Hauke Mehrtens Dec. 21, 2022, 10:53 p.m. UTC
The check_name_to_handle_at() function in the configure script is
including sys/stat.h. This include fails with glibc 2.36 like this:
````
In file included from /linux-5.15.84/include/uapi/linux/stat.h:5,
                 from /toolchain-x86_64_gcc-12.2.0_glibc/include/bits/statx.h:31,
                 from /toolchain-x86_64_gcc-12.2.0_glibc/include/sys/stat.h:465,
                 from config.YExfMc/name_to_handle_at_test.c:3:
/linux-5.15.84/include/uapi/linux/types.h:10:2: warning: #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders" [-Wcpp]
   10 | #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders"
      |  ^~~~~~~
In file included from /linux-5.15.84/include/uapi/linux/posix_types.h:5,
                 from /linux-5.15.84/include/uapi/linux/types.h:14:
/linux-5.15.84/include/uapi/linux/stddef.h:5:10: fatal error: linux/compiler_types.h: No such file or directory
    5 | #include <linux/compiler_types.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
````

Just removing the include works, the manpage of name_to_handle_at() says
only fcntl.h is needed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 configure | 1 -
 1 file changed, 1 deletion(-)

Comments

Stephen Hemminger Dec. 22, 2022, 3:25 a.m. UTC | #1
On Wed, 21 Dec 2022 23:53:04 +0100
Hauke Mehrtens <hauke@hauke-m.de> wrote:

> The check_name_to_handle_at() function in the configure script is
> including sys/stat.h. This include fails with glibc 2.36 like this:
> ````
> In file included from /linux-5.15.84/include/uapi/linux/stat.h:5,
>                  from /toolchain-x86_64_gcc-12.2.0_glibc/include/bits/statx.h:31,
>                  from /toolchain-x86_64_gcc-12.2.0_glibc/include/sys/stat.h:465,
>                  from config.YExfMc/name_to_handle_at_test.c:3:
> /linux-5.15.84/include/uapi/linux/types.h:10:2: warning: #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders" [-Wcpp]
>    10 | #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders"
>       |  ^~~~~~~
> In file included from /linux-5.15.84/include/uapi/linux/posix_types.h:5,
>                  from /linux-5.15.84/include/uapi/linux/types.h:14:
> /linux-5.15.84/include/uapi/linux/stddef.h:5:10: fatal error: linux/compiler_types.h: No such file or directory
>     5 | #include <linux/compiler_types.h>
>       |          ^~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> ````
> 
> Just removing the include works, the manpage of name_to_handle_at() says
> only fcntl.h is needed.
> 
> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

Please add a Fixes tag.

Fixes: c5b72cc56bf8 ("lib/fs: fix issue when {name,open}_to_handle_at() is not implemented")
Cc: heiko.thiery@gmail.com
Heiko Thiery Dec. 23, 2022, 6:30 a.m. UTC | #2
Hi Hauke,

Am Mi., 21. Dez. 2022 um 23:53 Uhr schrieb Hauke Mehrtens <hauke@hauke-m.de>:
>
> The check_name_to_handle_at() function in the configure script is
> including sys/stat.h. This include fails with glibc 2.36 like this:
> ````
> In file included from /linux-5.15.84/include/uapi/linux/stat.h:5,
>                  from /toolchain-x86_64_gcc-12.2.0_glibc/include/bits/statx.h:31,
>                  from /toolchain-x86_64_gcc-12.2.0_glibc/include/sys/stat.h:465,
>                  from config.YExfMc/name_to_handle_at_test.c:3:
> /linux-5.15.84/include/uapi/linux/types.h:10:2: warning: #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders" [-Wcpp]
>    10 | #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders"
>       |  ^~~~~~~
> In file included from /linux-5.15.84/include/uapi/linux/posix_types.h:5,
>                  from /linux-5.15.84/include/uapi/linux/types.h:14:
> /linux-5.15.84/include/uapi/linux/stddef.h:5:10: fatal error: linux/compiler_types.h: No such file or directory
>     5 | #include <linux/compiler_types.h>
>       |          ^~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> ````
>
> Just removing the include works, the manpage of name_to_handle_at() says
> only fcntl.h is needed.
> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

Unfortunately I do not have an environment with uclibc-ng < 1.0.35 to
test it against this. But I just build the package in buildroot with a
newer version and it works with your changes.

Tested-by: Heiko Thiery <heiko.thiery@gmail.com>

thanks

> ---
>  configure | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/configure b/configure
> index c02753bb..18be5a03 100755
> --- a/configure
> +++ b/configure
> @@ -214,7 +214,6 @@ check_name_to_handle_at()
>      cat >$TMPDIR/name_to_handle_at_test.c <<EOF
>  #define _GNU_SOURCE
>  #include <sys/types.h>
> -#include <sys/stat.h>
>  #include <fcntl.h>
>  int main(int argc, char **argv)
>  {
> --
> 2.35.1
>
Hauke Mehrtens Dec. 23, 2022, 5:05 p.m. UTC | #3
On 12/23/22 07:30, Heiko Thiery wrote:
> Hi Hauke,
> 
> Am Mi., 21. Dez. 2022 um 23:53 Uhr schrieb Hauke Mehrtens <hauke@hauke-m.de>:
>>
>> The check_name_to_handle_at() function in the configure script is
>> including sys/stat.h. This include fails with glibc 2.36 like this:
>> ````
>> In file included from /linux-5.15.84/include/uapi/linux/stat.h:5,
>>                   from /toolchain-x86_64_gcc-12.2.0_glibc/include/bits/statx.h:31,
>>                   from /toolchain-x86_64_gcc-12.2.0_glibc/include/sys/stat.h:465,
>>                   from config.YExfMc/name_to_handle_at_test.c:3:
>> /linux-5.15.84/include/uapi/linux/types.h:10:2: warning: #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders" [-Wcpp]
>>     10 | #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders"
>>        |  ^~~~~~~
>> In file included from /linux-5.15.84/include/uapi/linux/posix_types.h:5,
>>                   from /linux-5.15.84/include/uapi/linux/types.h:14:
>> /linux-5.15.84/include/uapi/linux/stddef.h:5:10: fatal error: linux/compiler_types.h: No such file or directory
>>      5 | #include <linux/compiler_types.h>
>>        |          ^~~~~~~~~~~~~~~~~~~~~~~~
>> compilation terminated.
>> ````
>>
>> Just removing the include works, the manpage of name_to_handle_at() says
>> only fcntl.h is needed.
>> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
> 
> Unfortunately I do not have an environment with uclibc-ng < 1.0.35 to
> test it against this. But I just build the package in buildroot with a
> newer version and it works with your changes.
> 
> Tested-by: Heiko Thiery <heiko.thiery@gmail.com>
> 
> thanks


Thanks for testing this with uclibc-ng. I added your tested by tag and 
the fixes tag.

Hauke
diff mbox series

Patch

diff --git a/configure b/configure
index c02753bb..18be5a03 100755
--- a/configure
+++ b/configure
@@ -214,7 +214,6 @@  check_name_to_handle_at()
     cat >$TMPDIR/name_to_handle_at_test.c <<EOF
 #define _GNU_SOURCE
 #include <sys/types.h>
-#include <sys/stat.h>
 #include <fcntl.h>
 int main(int argc, char **argv)
 {