

























This still isn't fixed? Please add sparse to makedepends
I got the same issue with @sirocco and some others.
Firstly, you need sparse as a dependency package.
Then, it returns that compiler unable to open 'stddef.h'
I fix the issue by adding this patch to mmc-utils
How?:
Paste the text below to create a txt file named "0001-fix.patch" under src/mmc-utils dir, then run "git apply 0001-fix.patch --ignore-whitespace" in console
diff --git a/Makefile b/Makefile
index 06ae0f7..9dc9ff3 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,8 @@ objects = \
3rdparty/hmac_sha/hmac_sha2.o \
3rdparty/hmac_sha/sha2.o
-CHECKFLAGS = -Wall -Werror -Wuninitialized -Wundef
+GCC_INCLUDE_DIR := $(shell $(CC) -print-file-name=include)
+CHECKFLAGS = -I$(GCC_INCLUDE_DIR) -Wall -Wuninitialized -Wundef
DEPFLAGS = -Wp,-MMD,$(@D)/.$(@F).d,-MT,$@
--
Then, the compilation should pass.
with sparse
==> Starting build()...
sparse -Wall -Werror -Wuninitialized -Wundef -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -DVERSION=\""523d8f"\" mmc.c
mmc.c: note: in included file (through /usr/include/bits/libc-header-start.h, /usr/include/stdio.h):
/usr/include/features.h:422:4: warning: _FORTIFY_SOURCE requires compiling with optimization (-O)
mmc.c: note: in included file:
/usr/include/stdio.h:34:11: error: unable to open 'stddef.h'
make: *** [Makefile:38: mmc.o] Error 1
==> ERROR: A failure occurred in build().
Aborting...
I believe sparse is missing from makedepends, the build is failing here:
sparse -Wall -Werror -Wuninitialized -Wundef -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -DVERSION=\""123fd8"\" 3rdparty/hmac_sha/sha2.c
/bin/sh: line 1: sparse: command not found
(...)
I get the same error reported by @paulhart.
I tried running make directly and got a successful build.
Came across https://wiki.archlinux.org/title/makepkg#Makepkg_fails,_but_make_succeeds and set the !buildflags option, which enabled me to successfully build the package
diff --git a/PKGBUILD b/PKGBUILD
index 6e77560..eaa3884 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -15,6 +15,7 @@ provides=("${_pkgname}")
conflicts=("${_pkgname}")
source=('git+https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git')
sha256sums=('SKIP')
+options=(!buildflags)
pkgver() {
cd "${_pkgname}"
This means that one/some of the following flags from my /etc/makepkg.conf caused the build failure
#CPPFLAGS=""
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
-Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
-fstack-clash-protection -fcf-protection \
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
-Wl,-z,pack-relative-relocs"
@Teeed I'll look into it thanks
Hi,
tried to build this package from 3c6b96c1b06f, but it failed on packing step
==> Starting package()...
install -m755 -d /home/mmc-utils-git/pkg/mmc-utils-git/usr/bin
install mmc /home/mmc-utils-git/pkg/mmc-utils-git/usr/bin
install -m 644 mmc.1 /home/mmc-utils-git/pkg/mmc-utils-git/usr/share/man/man1
install: cannot create regular file '/home/mmc-utils-git/pkg/mmc-utils-git/usr/share/man/man1': No such file or directory
make: *** [Makefile:54: install] Error 1
so here is a patch to make it work:
diff --git a/PKGBUILD b/PKGBUILD
index 40c7b2a..6e77560 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,8 +3,8 @@
_pkgname=mmc-utils
pkgname=${_pkgname}-git
-pkgver=r113.9582278
-pkgrel=2
+pkgver=r128.f757f41
+pkgrel=1
epoch=1
pkgdesc="Userspace tools for MMC/SD devices"
arch=('x86_64' 'i686' 'aarch64' 'armv7h' 'armv6h')
@@ -28,6 +28,6 @@ build() {
package() {
cd "${_pkgname}"
+ mkdir -p "${pkgdir}/usr/share/man/man1/"
make DESTDIR="${pkgdir}" prefix=/usr install
- install -Dm644 man/mmc.1 "${pkgdir}/usr/share/man/man1/mmc.1"
}
I'm getting a compile failure (it would appear the VERSION value in the Makefile isn't being passed to the compiler?):
==> Updated version: mmc-utils-git 1:r109.145c74a-1
==> Starting build()...
make: Entering directory '/home/paulhart/aur/mmc-utils-git/src/mmc-utils'
cc -Wall -Werror -Wuninitialized -Wundef -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-MMD,./.mmc.o.d,-MT,mmc.o -c mmc.c -o mmc.o
mmc.c: In function ‘help’:
mmc.c:320:26: error: ‘VERSION’ undeclared (first use in this function)
320 | printf("\n%s\n", VERSION);
| ^~~~~~~
mmc.c:320:26: note: each undeclared identifier is reported only once for each function it appears in
mmc.c: In function ‘parse_args’:
mmc.c:501:34: error: ‘VERSION’ undeclared (first use in this function)
501 | printf("\n%s\n", VERSION);
| ^~~~~~~
make: *** [Makefile:37: mmc.o] Error 1
make: Leaving directory '/home/paulhart/aur/mmc-utils-git/src/mmc-utils'
==> ERROR: A failure occurred in build().
Aborting...
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。
Sorry for the delay guys. The notification email went to spam
Ok clearly something changed upstream and it needs sparse now. I'll do the patches