mdadm: fix compilation with musl 1.2.4
authorNick Hainke <vincent@systemli.org>
Tue, 16 May 2023 18:07:38 +0000 (20:07 +0200)
committerNick Hainke <vincent@systemli.org>
Tue, 16 May 2023 20:54:29 +0000 (22:54 +0200)
_LARGEFILE64_SOURCE has to be defined in the source, or CFLAGS can be used
to pass -D_LARGEFILE64_SOURCE to allow to keep using LFS64 definitions.

Fixes error in the form of:
restripe.c: In function 'restore_stripes':
restripe.c:758:43: error: 'off64_t' undeclared (first use in this function); did you mean 'off_t'?
  758 |                                          (off64_t)read_offset) {
      |                                           ^~~~~~~
      |                                           off_t
restripe.c:758:43: note: each undeclared identifier is reported only once for each function it appears in
restripe.c:758:51: error: expected ')' before 'read_offset'
  758 |                                          (off64_t)read_offset) {
      |                                                   ^~~~~~~~~~~
      |                                                   )
restripe.c:757:36: note: to match this '('
  757 |                                 if (lseek64(source, read_offset, 0) !=
      |                                    ^
make[3]: *** [Makefile:193: restripe.o] Error 1

Fixes: fff878c5bcda ("toolchain/musl: update to 1.2.4")
Signed-off-by: Nick Hainke <vincent@systemli.org>
package/utils/mdadm/Makefile

index 1828a88972820929e81227279b7eb51ae7542826..8070003394f80db91476047cef098c768e28dd70 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mdadm
 PKG_VERSION:=4.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm
@@ -49,7 +49,8 @@ TARGET_CFLAGS += \
        -DMAP_DIR='\"/var/run/mdadm\"' \
        -DMDMON_DIR='\"/var/run/mdadm\"' \
        -DFAILED_SLOTS_DIR='\"/var/run/mdadm/failed-slots\"' \
-       -DNO_LIBUDEV
+       -DNO_LIBUDEV \
+       -D_LARGEFILE64_SOURCE
 
 TARGET_CXFLAGS = -DNO_LIBUDEV