storaged-project / libblockdev

A library for manipulating block devices.
GNU Lesser General Public License v2.1
103 stars 54 forks source link

Compilation error due to warnings in ext2fs headers #1026

Closed dschepler closed 3 months ago

dschepler commented 3 months ago

When I try building on my system (amd64, with e2fsprogs 1.47.1), I get these compilation errors:

Making all in fs
make[3]: Entering directory '/home/unfrobbed-dev/pkgs-pending/libblockdev/libblockdev-3.1.1/debian/obj-amd64/src/plugins/fs'
/bin/sh ../../../libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"libblockdev\" -DPACKAGE_TARNAME=\"libblockdev\" -DPACKAGE_VERSION=\"3.1.1\" -DPACKAGE_STRING=\"libblockdev\ 3.1.1\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"https://github.com/storaged-project/libblockdev\" -DPACKAGE=\"libblockdev\" -DVERSION=\"3.1.1\" -DNDEBUG=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_DLFCN_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_LINUX_RANDOM_H=1 -DHAVE_GLOB_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_MATH_H=1 -DWITH_BD_ESCROW=/\*\*/ -DWITH_BD_NVME=/\*\*/ -DWITH_BD_BTRFS=/\*\*/ -DWITH_BD_CRYPTO=/\*\*/ -DWITH_BD_DM=/\*\*/ -DWITH_BD_LOOP=/\*\*/ -DWITH_BD_LVM=/\*\*/ -DWITH_BD_LVM_DBUS=/\*\*/ -DWITH_BD_MDRAID=/\*\*/ -DWITH_BD_MPATH=/\*\*/ -DWITH_BD_SWAP=/\*\*/ -DWITH_BD_PART=/\*\*/ -DWITH_BD_FS=/\*\*/ -DWITH_BD_NVDIMM=/\*\*/ -DWITH_BD_NVME=/\*\*/ -DLIBCRYPTSETUP_24=1 -DLIBCRYPTSETUP_26=1 -DLIBMOUNT_NEW_ERR_API=1 -DLIBNDCTL_NEW_MODES=1 -DHAVE_LIBNVME_1_4=1 -I. -I../../../../../src/plugins/fs  -I./../../../include/ -I../../../../../src/plugins/fs/../  -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/blkid -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/ext2fs -I/usr/include/et -I/usr/include/e2p -Wall -Wextra -Werror -std=gnu99 -MT libbd_fs_la-ext.lo -MD -MP -MF .deps/libbd_fs_la-ext.Tpo -c -o libbd_fs_la-ext.lo `test -f 'ext.c' || echo '../../../../../src/plugins/fs/'`ext.c
libtool: compile:  gcc -DPACKAGE_NAME=\"libblockdev\" -DPACKAGE_TARNAME=\"libblockdev\" -DPACKAGE_VERSION=\"3.1.1\" "-DPACKAGE_STRING=\"libblockdev 3.1.1\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"https://github.com/storaged-project/libblockdev\" -DPACKAGE=\"libblockdev\" -DVERSION=\"3.1.1\" -DNDEBUG=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_DLFCN_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_LINUX_RANDOM_H=1 -DHAVE_GLOB_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_MATH_H=1 "-DWITH_BD_ESCROW=/**/" "-DWITH_BD_NVME=/**/" "-DWITH_BD_BTRFS=/**/" "-DWITH_BD_CRYPTO=/**/" "-DWITH_BD_DM=/**/" "-DWITH_BD_LOOP=/**/" "-DWITH_BD_LVM=/**/" "-DWITH_BD_LVM_DBUS=/**/" "-DWITH_BD_MDRAID=/**/" "-DWITH_BD_MPATH=/**/" "-DWITH_BD_SWAP=/**/" "-DWITH_BD_PART=/**/" "-DWITH_BD_FS=/**/" "-DWITH_BD_NVDIMM=/**/" "-DWITH_BD_NVME=/**/" -DLIBCRYPTSETUP_24=1 -DLIBCRYPTSETUP_26=1 -DLIBMOUNT_NEW_ERR_API=1 -DLIBNDCTL_NEW_MODES=1 -DHAVE_LIBNVME_1_4=1 -I. -I../../../../../src/plugins/fs -I./../../../include/ -I../../../../../src/plugins/fs/../ -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/blkid -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/ext2fs -I/usr/include/et -I/usr/include/e2p -Wall -Wextra -Werror -std=gnu99 -MT libbd_fs_la-ext.lo -MD -MP -MF .deps/libbd_fs_la-ext.Tpo -c ../../../../../src/plugins/fs/ext.c  -fPIC -DPIC -o .libs/libbd_fs_la-ext.o
In file included from ../../../../../src/plugins/fs/ext.c:20:
/usr/include/ext2fs/ext2fs.h: In function '__encode_extra_time':
/usr/include/ext2fs/ext2fs.h:588:48: error: unused parameter 'seconds' [-Werror=unused-parameter]
  588 | static inline __u32 __encode_extra_time(time_t seconds, __u32 nsec)
      |                                         ~~~~~~~^~~~~~~
/usr/include/ext2fs/ext2fs.h: In function '__decode_extra_sec':
/usr/include/ext2fs/ext2fs.h:598:63: error: unused parameter 'extra' [-Werror=unused-parameter]
  598 | static inline time_t __decode_extra_sec(time_t seconds, __u32 extra)
      |                                                         ~~~~~~^~~~~
cc1: all warnings being treated as errors
make[3]: *** [Makefile:620: libbd_fs_la-ext.lo] Error 1
make[3]: Leaving directory '/home/unfrobbed-dev/pkgs-pending/libblockdev/libblockdev-3.1.1/debian/obj-amd64/src/plugins/fs'
make[2]: *** [Makefile:1150: all-recursive] Error 1
make[2]: Leaving directory '/home/unfrobbed-dev/pkgs-pending/libblockdev/libblockdev-3.1.1/debian/obj-amd64/src/plugins'
make[1]: *** [Makefile:431: all-recursive] Error 1
make[1]: Leaving directory '/home/unfrobbed-dev/pkgs-pending/libblockdev/libblockdev-3.1.1/debian/obj-amd64/src'
make: *** [Makefile:508: all-recursive] Error 1

(I also don't see any configure option such as --disable-werror so to work around it would probably require editing src/plugins/fs/Makefile.am as far as I can tell.)