[Bug 1985956] Re: linux-libc-dev and libc6-dev do not agree who owns fsconfig_command
Christian Ehrhardt
1985956 at bugs.launchpad.net
Fri Aug 19 13:16:23 UTC 2022
Since this happens on build and not on a target system, I'll mark it
confirmed without providing the data that the Kernel bot asks for.
** Changed in: linux (Ubuntu)
Status: Incomplete => Confirmed
** Also affects: libvirt (Ubuntu)
Importance: Undecided
Status: New
** Tags added: update-excuse
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc in Ubuntu.
https://bugs.launchpad.net/bugs/1985956
Title:
linux-libc-dev and libc6-dev do not agree who owns fsconfig_command
Status in glibc package in Ubuntu:
New
Status in libvirt package in Ubuntu:
New
Status in linux package in Ubuntu:
Confirmed
Bug description:
Right now in kinetic-proposed builds are failing due to both sets of
headers defining fsconfig_command.
(kinetic-amd64)root at Keschdeichel:/build/libvirt-LTnG76/libvirt-8.6.0/debian/build# apt-cache policy libc6-dev linux-libc-dev
libc6-dev:
Installed: 2.36-0ubuntu1
Candidate: 2.36-0ubuntu1
Version table:
*** 2.36-0ubuntu1 500
500 http://archive.ubuntu.com/ubuntu kinetic-proposed/main amd64 Packages
100 /var/lib/dpkg/status
2.35-0ubuntu3 500
500 http://archive.ubuntu.com/ubuntu kinetic/main amd64 Packages
linux-libc-dev:
Installed: 5.19.0-15.15
Candidate: 5.19.0-15.15
Version table:
*** 5.19.0-15.15 500
500 http://archive.ubuntu.com/ubuntu kinetic-proposed/main amd64 Packages
100 /var/lib/dpkg/status
5.15.0-27.28 500
500 http://archive.ubuntu.com/ubuntu kinetic/main amd64 Packages
Actually also with "just the kernel" from proposed this happens as in the past only:
linux-libc-dev:amd64: /usr/include/linux/mount.h
included that struct.
File ownership
$ dpkg -S /usr/include/x86_64-linux-gnu/sys/mount.h /usr/include/linux/mount.h
libc6-dev:amd64: /usr/include/x86_64-linux-gnu/sys/mount.h
linux-libc-dev:amd64: /usr/include/linux/mount.h
Example error from building libvirt:
In file included from /usr/include/linux/fs.h:19,
from ../../src/util/virfile.c:74:
/usr/include/linux/mount.h:95:6: error: redeclaration of 'enum fsconfig_command'
95 | enum fsconfig_command {
| ^~~~~~~~~~~~~~~~
In file included from ../../src/util/virfile.c:46:
/usr/include/x86_64-linux-gnu/sys/mount.h:189:6: note: originally defined here
189 | enum fsconfig_command
| ^~~~~~~~~~~~~~~~
Repro-test:
$ cat test.c
# include <sys/mount.h>
# include <linux/fs.h>
#include <stdio.h>
int main() {
printf("Hello %d", FSCONFIG_SET_FLAG);
return 0;
}
gcc test.c -o /dev/null
In file included from /usr/include/linux/fs.h:19,
from test.c:2:
/usr/include/linux/mount.h:95:6: error: redeclaration of 'enum fsconfig_command'
95 | enum fsconfig_command {
| ^~~~~~~~~~~~~~~~
In file included from test.c:1:
/usr/include/x86_64-linux-gnu/sys/mount.h:189:6: note: originally defined here
189 | enum fsconfig_command
| ^~~~~~~~~~~~~~~~
/usr/include/linux/mount.h:96:9: error: redeclaration of enumerator 'FSCONFIG_SET_FLAG'
96 | FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */
| ^~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/mount.h:191:3: note: previous definition of 'FSCONFIG_SET_FLAG' with type 'enum fsconfig_command'
191 | FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */
| ^~~~~~~~~~~~~~~~~
/usr/include/linux/mount.h:97:9: error: redeclaration of enumerator 'FSCONFIG_SET_STRING'
97 | FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */
| ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/mount.h:193:3: note: previous definition of 'FSCONFIG_SET_STRING' with type 'enum fsconfig_command'
193 | FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */
| ^~~~~~~~~~~~~~~~~~~
/usr/include/linux/mount.h:98:9: error: redeclaration of enumerator 'FSCONFIG_SET_BINARY'
98 | FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob value */
| ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/mount.h:195:3: note: previous definition of 'FSCONFIG_SET_BINARY' with type 'enum fsconfig_command'
195 | FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob value */
| ^~~~~~~~~~~~~~~~~~~
/usr/include/linux/mount.h:99:9: error: redeclaration of enumerator 'FSCONFIG_SET_PATH'
99 | FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */
| ^~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/mount.h:197:3: note: previous definition of 'FSCONFIG_SET_PATH' with type 'enum fsconfig_command'
197 | FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */
| ^~~~~~~~~~~~~~~~~
/usr/include/linux/mount.h:100:9: error: redeclaration of enumerator 'FSCONFIG_SET_PATH_EMPTY'
100 | FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by (empty) path */
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/mount.h:199:3: note: previous definition of 'FSCONFIG_SET_PATH_EMPTY' with type 'enum fsconfig_command'
199 | FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by (empty) path */
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/linux/mount.h:101:9: error: redeclaration of enumerator 'FSCONFIG_SET_FD'
101 | FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */
| ^~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/mount.h:201:3: note: previous definition of 'FSCONFIG_SET_FD' with type 'enum fsconfig_command'
201 | FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */
| ^~~~~~~~~~~~~~~
/usr/include/linux/mount.h:102:9: error: redeclaration of enumerator 'FSCONFIG_CMD_CREATE'
102 | FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */
| ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/mount.h:203:3: note: previous definition of 'FSCONFIG_CMD_CREATE' with type 'enum fsconfig_command'
203 | FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */
| ^~~~~~~~~~~~~~~~~~~
/usr/include/linux/mount.h:103:9: error: redeclaration of enumerator 'FSCONFIG_CMD_RECONFIGURE'
103 | FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/mount.h:205:3: note: previous definition of 'FSCONFIG_CMD_RECONFIGURE' with type 'enum fsconfig_command'
205 | FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/linux/mount.h:129:8: error: redefinition of 'struct mount_attr'
129 | struct mount_attr {
| ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/mount.h:161:8: note: originally defined here
161 | struct mount_attr
| ^~~~~~~~~~
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1985956/+subscriptions
More information about the foundations-bugs
mailing list