Package Name
gpgme
Maintainer
OpenWrt Packages Team
OpenWrt Version
25 (SNAPSHOT)
OpenWrt Target/Subtarget
mipsel/24kc
Steps to Reproduce
- Use a modern Linux host (like Ubuntu 26.04) where
ln is strict about duplicate flags.
- Update and install feeds:
./scripts/feeds update -a && ./scripts/feeds install -a.
- Select
gpgme package or a package that depends on it.
- Run
make package/feeds/packages/gpgme/compile V=s.
Actual Behaviour
The build fails during the staging/installation phase with the following error:
error: the argument '--force' cannot be used multiple times
This happens because the gpgme Makefile uses $(LN) -sf, and since $(LN) is already defined as ln -sf in the OpenWrt build system, the final command executed is ln -sf -sf.
Newer versions of coreutils or alternative ln implementations (like the Rust-based one) do not allow the same flag to be provided multiple times.
Fix:
In libs/gpgme/Makefile, remove the redundant -sf from the line:
$(LN) -sf $(STAGING_DIR)/host/bin/gpgme-config $(1)/usr/bin/gpgme-config
to
$(LN) $(STAGING_DIR)/host/bin/gpgme-config $(1)/usr/bin/gpgme-config
Confirmation Checklist
Package Name
gpgme
Maintainer
OpenWrt Packages Team
OpenWrt Version
25 (SNAPSHOT)
OpenWrt Target/Subtarget
mipsel/24kc
Steps to Reproduce
lnis strict about duplicate flags../scripts/feeds update -a && ./scripts/feeds install -a.gpgmepackage or a package that depends on it.make package/feeds/packages/gpgme/compile V=s.Actual Behaviour
The build fails during the staging/installation phase with the following error:
error: the argument '--force' cannot be used multiple timesThis happens because the
gpgmeMakefile uses$(LN) -sf, and since$(LN)is already defined asln -sfin the OpenWrt build system, the final command executed isln -sf -sf.Newer versions of
coreutilsor alternativelnimplementations (like the Rust-based one) do not allow the same flag to be provided multiple times.Fix:
In
libs/gpgme/Makefile, remove the redundant-sffrom the line:$(LN) -sf $(STAGING_DIR)/host/bin/gpgme-config $(1)/usr/bin/gpgme-configto
$(LN) $(STAGING_DIR)/host/bin/gpgme-config $(1)/usr/bin/gpgme-configConfirmation Checklist