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
Git Clone URL: | https://aur.archlinux.org/mmc-utils-git.git (read-only, click to copy) |
---|---|
Package Base: | mmc-utils-git |
Description: | Userspace tools for MMC/SD devices |
Upstream URL: | https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git |
Keywords: | emmc mmc |
Licenses: | GPL |
Conflicts: | mmc-utils |
Provides: | mmc-utils |
Submitter: | vbmithr |
Maintainer: | jpegxguy |
Last Packager: | jpegxguy |
Votes: | 7 |
Popularity: | 0.64 |
First Submitted: | 2018-08-08 07:01 (UTC) |
Last Updated: | 2025-02-24 02:14 (UTC) |
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
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...
To get rid of the "is not a clone of" error, delete the pkg
, src
and mmc-utils
folders inside the folder where makepkg
runs. For example, paru
has these folders under ~/.cache/paru/clone/${pkgname}
.
Pinned Comments
jpegxguy commented on 2021-12-15 16:13 (UTC) (edited on 2021-12-15 16:26 (UTC) by jpegxguy)
Hi guys,
I found this documentation on kernel.org which points to a different repo:
https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git
I'm thinking this might be why the tree we knew moved to
mmc-utils-old
I'll probably end up changing the source to that newer repo after testing for a bit, because the new tree seems more active.
UPDATE: The new tree builds fine for me. Also,
make
is part of the groupbase-devel
, which is an implied make dependency of any AUR package.