Hello,
EDIT: Back to square one
I'm trying to compile mergerfs based on Makefile here https://forum.turris.cz/t/cross-compile-howto/1090/18 now using SDK 23.05.0-rc2 and older mergerfs 2.21 source.
Now it's failing to find fuse.h which is strange because I can find this in included dir, I wonder why?
Thanks for any advice.
make package/mergerfs/compile
make -C /home/user/openwrt_sdk/build_dir/target-x86_64_musl/mergerfs-2.21.0 CC="x86_64-openwrt-linux-musl-gcc" OPTS="-O2 -Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -ffile-prefix-map=/home/user/openwrt_sdk/build_dir/target-x86_64_musl/mergerfs-2.21.0=mergerfs-2.21.0 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/user/openwrt_sdk/staging_dir/target-x86_64_musl/usr/include" LDFLAGS="-L/home/user/openwrt_sdk/staging_dir/toolchain-x86_64_gcc-12.3.0_musl/usr/lib -L/home/user/openwrt_sdk/staging_dir/toolchain-x86_64_gcc-12.3.0_musl/lib -znow -zrelro -lfuse -lpthread" XATTR_AVAILABLE=0
make[3]: Entering directory '/home/user/openwrt_sdk/build_dir/target-x86_64_musl/mergerfs-2.21.0'
Makefile:104: "xattr not available: disabling"
fatal: not a git repository (or any of the parent directories): .git
<stdin>:1:10: fatal error: fuse.h: No such file or directory
compilation terminated.
ls -la /home/user/openwrt_sdk/staging_dir/target-x86_64_musl/usr/include
total 20
drwxr-xr-x 3 user user 4096 Aug 12 12:11 .
drwxr-xr-x 4 user user 4096 Aug 12 12:11 ..
drwxr-xr-x 2 user user 4096 Aug 12 12:11 fuse
-rw-r--r-- 1 user user 246 Aug 12 12:11 fuse.h
-rw-r--r-- 1 user user 679 Aug 12 12:11 ulockmgr.h
Makefile
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=mergerfs
PKG_VERSION:=2.21.0
PKG_RELEASE:=1
SOURCE_DIR:=/home/user/openwrt_sdk/mergerfs
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/mergerfs
SECTION:=utils
CATEGORY:=Filesystem
TITLE:=A FUSE based union filesystem
URL:=https://github.com/trapexit/mergerfs
DEPENDS+= +kmod-fuse +libfuse +libpthread +libstdcpp
endef
define Package/mergerfs/description
mergerfs is a union filesystem geared towards simplifying storage and management of files across numerous commodity storage devices. It is similar to mhddfs, unionfs, and aufs.
endef
define Build/Configure
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
cp -rfp $(SOURCE_DIR)/* $(PKG_BUILD_DIR)
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
CC="$(TARGET_CC)" \
OPTS="-O2 $(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
LDFLAGS="${TARGET_LDFLAGS} -lfuse -lpthread" \
XATTR_AVAILABLE=0
endef
define Package/mergerfs/install
$(INSTALL_DIR) $(1)/sbin
$(CP) $(PKG_BUILD_DIR)/mergerfs $(1)/sbin/mount.mergerfs
endef
$(eval $(call BuildPackage,mergerfs))