From feaba4f52bc902a9ee1f4980d84377a67a15117a Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Wed, 17 May 2023 00:08:36 +0200 Subject: [PATCH] btop: fix compilation with musl 1.2.4 _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 errors in the form of: Compiling src/linux/btop_collect.cpp src/linux/btop_collect.cpp: In function 'Mem::mem_info& Mem::collect(bool)': src/linux/btop_collect.cpp:1082:58: error: aggregate 'Mem::collect(bool)::statvfs64 vfs' has incomplete type and cannot be defined 1082 | struct statvfs64 vfs; | ^~~ src/linux/btop_collect.cpp:1083:79: error: invalid use of incomplete type 'struct Mem::collect(bool)::statvfs64' 1083 | if (statvfs64(mountpoint.c_str(), &vfs) < 0) { | ^ src/linux/btop_collect.cpp:1082:48: note: forward declaration of 'struct Mem::collect(bool)::statvfs64' 1082 | struct statvfs64 vfs; | ^~~~~~~~~ make[3]: *** [Makefile:274: obj/linux/btop_collect.o] Error 1 make[3]: Leaving directory '/home/nick/openwrt/build_dir/target-aarch64_cortex-a53_musl/btop-1.2.13' make[2]: *** [Makefile:53: /home/nick/openwrt/build_dir/target-aarch64_cortex-a53_musl/btop-1.2.13/.built] Error 2 make[2]: Leaving directory '/home/nick/openwrt/feeds/packages/admin/btop' time: package/feeds/packages/btop/compile#2.57#0.17#3.02 ERROR: package/feeds/packages/btop failed to build. Signed-off-by: Nick Hainke --- admin/btop/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/admin/btop/Makefile b/admin/btop/Makefile index 8b8888b508..b3a92d17ce 100644 --- a/admin/btop/Makefile +++ b/admin/btop/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=btop PKG_VERSION:=1.2.13 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL=https://codeload.github.com/aristocratos/btop/tar.gz/v$(PKG_VERSION)? @@ -37,6 +37,10 @@ MAKE_FLAGS+= \ OPTFLAGS="$(TARGET_CXXFLAGS)" \ LDCXXFLAGS="$(TARGET_LDFLAGS) -pthread" +ifneq ($(CONFIG_USE_MUSL),) + TARGET_CFLAGS += -D_LARGEFILE64_SOURCE +endif + define Package/btop/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/local/bin/btop $(1)/usr/bin/