@fabi, thank you for helping with the pi-hole-ftl-bin package. Request you to maintain this at least until the issue is fixed on AUR.
Cheers.
| Git Clone URL: | https://aur.archlinux.org/pi-hole-ftl.git (read-only, click to copy) |
|---|---|
| Package Base: | pi-hole-ftl |
| Description: | The Pi-hole FTL engine |
| Upstream URL: | https://github.com/pi-hole/FTL |
| Licenses: | EUPL-1.2 |
| Conflicts: | dnsmasq |
| Provides: | dnsmasq |
| Submitter: | max.bra |
| Maintainer: | pzarycki |
| Last Packager: | pzarycki |
| Votes: | 58 |
| Popularity: | 0.80 |
| First Submitted: | 2017-05-07 15:23 (UTC) |
| Last Updated: | 2026-05-25 06:51 (UTC) |
@fabi, thank you for helping with the pi-hole-ftl-bin package. Request you to maintain this at least until the issue is fixed on AUR.
Cheers.
bpierre's patch below also fixes the following error that I encountered while building 6.6-1:
/home/bruda/.cache/pacaur/pi-hole-ftl/src/FTL-6.6.1/src/api/2fa.c: In function ‘hotp’:
/home/bruda/.cache/pacaur/pi-hole-ftl/src/FTL-6.6.1/src/api/2fa.c:36:32: error: passing argument 2 of ‘nettle_hmac_sha1_digest’ makes pointer from integer without a cast [-Wint-conversion]
36 | hmac_sha1_digest(&ctx, SHA1_DIGEST_SIZE, out);
| ^~~~~~~~~~~~~~~~
| |
| int
In file included from /home/bruda/.cache/pacaur/pi-hole-ftl/src/FTL-6.6.1/src/api/2fa.c:20:
/usr/include/nettle/hmac.h:139:27: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘int’
139 | uint8_t *digest);
| ~~~~~~~~~^~~~~~
/home/bruda/.cache/pacaur/pi-hole-ftl/src/FTL-6.6.1/src/api/2fa.c:36:9: error: too many arguments to function ‘nettle_hmac_sha1_digest’; expected 2, have 3
36 | hmac_sha1_digest(&ctx, SHA1_DIGEST_SIZE, out);
| ^~~~~~~~~~~~~~~~
/usr/include/nettle/hmac.h:138:1: note: declared here
138 | hmac_sha1_digest(struct hmac_sha1_ctx *ctx,
| ^~~~~~~~~~~~~~~~
make[2]: *** [src/api/CMakeFiles/api.dir/build.make:79: src/api/CMakeFiles/api.dir/2fa.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:618: src/api/CMakeFiles/api.dir/all] Error 2
Installing nettle3 fixed my local install of pi-hole-ftl. And here's a patch for building the package:
.SRCINFO | 4 ++--
PKGBUILD | 7 +++++--
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git i/.SRCINFO w/.SRCINFO
index 11d7d1c..ca4f130 100644
--- i/.SRCINFO
+++ w/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = pi-hole-ftl
pkgdesc = The Pi-hole FTL engine
pkgver = 6.6.1
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/pi-hole/FTL
install = pi-hole-ftl.install
arch = i686
@@ -13,7 +13,7 @@ pkgbase = pi-hole-ftl
license = EUPL-1.2
makedepends = cmake
makedepends = xxd
- depends = nettle
+ depends = nettle3
depends = gmp
depends = mbedtls
depends = pi-hole-web
diff --git i/PKGBUILD w/PKGBUILD
index 78fb586..df3b58a 100644
--- i/PKGBUILD
+++ w/PKGBUILD
@@ -8,12 +8,12 @@ pkgname=pi-hole-ftl
_pkgname=FTL
_servicename=pihole-FTL
pkgver=6.6.1
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
pkgdesc="The Pi-hole FTL engine"
url="https://github.com/pi-hole/FTL"
license=('EUPL-1.2')
-depends=('nettle' 'gmp' 'mbedtls' 'pi-hole-web')
+depends=('nettle3' 'gmp' 'mbedtls' 'pi-hole-web')
makedepends=('cmake' 'xxd')
conflicts=('dnsmasq')
provides=('dnsmasq')
@@ -38,6 +38,9 @@ prepare() {
# Fix mbedtls 3.x API changes
sed -i 's/mbedtls_x509write_crt_pem(\([^,]*\), \([^,]*\), sizeof(\([^)]*\)))/mbedtls_x509write_crt_pem(\1, \2, sizeof(\3), NULL, NULL)/g' src/webserver/x509.c
sed -i 's/mbedtls_pk_parse_keyfile(\([^,]*\), \([^,]*\), NULL);/mbedtls_pk_parse_keyfile(\1, \2, NULL, NULL, NULL);/g' src/webserver/x509.c
+ # Use nettle3
+ find src -name '*.[ch]' -print0 | xargs -0 sed -i 's,^# *include <nettle/,#include <nettle3/nettle/,'
+ sed -E -i 's,(find_library\(LIB(HOGWEED|NETTLE) .*) HINTS .*\),\1 HINTS /usr/lib/nettle3),' src/CMakeLists.txt
}
build() {
Today I updated Nettle from version 3.10.2-1 to 4.0-1. After restarting my server, pi-hole-ftl failed to start. I then tried to rebuild pi-hole-ftl on a clean system. Unfortunately, the build process aborted with several errors related to Nettle. I temporarily downgraded Nettle, but of course that’s not a solution...Can someone take a look at this? Thanks in advance.
@CountMurphy: Make sure you are building in a clean chroot
6.6.1 doesn't build for me, but it also doesn't state why it doesn't build.
[ 58%] Building C object src/dnsmasq/CMakeFiles/dnsmasq.dir/ubus.c.o
[ 59%] Building C object src/dnsmasq/CMakeFiles/dnsmasq.dir/util.c.o
<command-line>: warning: ‘_FORTIFY_SOURCE’ redefined
<command-line>: note: this is the location of the previous definition
<command-line>: warning: ‘_FORTIFY_SOURCE’ redefined
<command-line>: note: this is the location of the previous definition
[ 59%] Built target dnsmasq
[ 59%] Built target lua
[ 59%] Built target sqlite3
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
-> error making: pi-hole-ftl-exit status 4
-> Failed to install the following packages. Manual intervention is required:
pi-hole-ftl - exit status 4
I'm using
local/pi-hole-core 6.3-1
The Pi-hole is an advertising-aware DNS/Web server. Arch adaptation for lan wide DNS server.
local/pi-hole-ftl-bin 6.5-1
The Pi-hole FTL engine
local/pi-hole-web 6.4.1-1
Pi-hole Dashboard for stats and more.
together, which seems to work fine for the moment.
@fabi: Thanks for providing the last patch! Am I correct in assuming that this won’t work with Pi-hole >= 6.5 due to the mbedtls 4?
Right now, I can only install pi-hole-ftl-bin and pi-hole-web. I'm missing the corresponding pi-hole-core
This was also noted on the -web and -core package. The github repos containing the patches seem to be gone. If anyone is interested in maintaining these patches, I put the latest version, which I still had cached on https://gist.github.com/fbrosda/33141058ba36475c7a60388eebd0a4e2 But I have no interest in maintaining these for future versions.
@fabi thanks for creating and maintaining pi-hole-ftl-bin, really appreciate it!
I’m on a Pi 4 with EOS ARM. pi-hole-ftl-bin builds fine, but pi-hole-core and pi-hole-web fail because these patches return 404:
arch-core-6.3-1.patcharch-web-6.4.1-1.patchAre the packages currently out of sync, or is there an updated source/workaround?
Thanks!
btw. that doesn't look good:
yay -Ss pi-hole
aur/domainarr 0.0.1-1 (+0 0.00)
DNS sync CLI for Pi-hole and Cloudflare
aur/lxc-service-snapshots 2.18-1 (+2 0.00)
Run disposable (read-only then delete) Linux containers (LXC) to serve up OpenVPN, Pi-Hole, or WireGuard.
aur/crab-hole-git 0.1.12.r6.g4d631ee-1 (+0 0.00)
Pi-Hole clone written in rust using hickory-dns/trust-dns
aur/crab-hole 0.1.12-2 (+2 0.00)
Pi-Hole clone written in rust using hickory-dns/trust-dns
aur/prometheus-pihole-exporter 1.2.0-1 (+2 0.00)
A Prometheus exporter for PI-Hole's Raspberry PI ad blocker.
aur/padd-git v3.0.2.r4.g03cfbd1-1 (+2 0.00)
PADD - Pi-hole Ad Detection Display
aur/pihosts-bin 0.1.0-1 (+0 0.00)
CLI tool to manage Pi-hole DNS hosts via the v6 API
aur/pi-hole-whitelist-git r313.30c7586-1 (+0 0.00) (Verwaist)
A simple tool to add commonly white listed domains to your Pi-Hole setup.
aur/pi-hole-ftl-bin 6.5-1 (+0 0.00) (Installiert)
The Pi-hole FTL engine
aur/pi-hole-web 6.4.1-1 (+4 0.37) (Installiert)
Pi-hole Dashboard for stats and more.
aur/pi-hole-ftl 6.4.1-1 (+57 0.00) (Veraltet: 2026-02-18)
The Pi-hole FTL engine
aur/pi-hole-core 6.3-1 (+118 0.00) (Veraltet: 2026-02-18)
The Pi-hole is an advertising-aware DNS/Web server. Arch adaptation for lan wide DNS server.
Pinned Comments
max.bra commented on 2018-02-09 16:46 (UTC) (edited on 2019-10-18 23:13 (UTC) by max.bra)
ArchLinux Pi-hole is not officially supported by Pi-hole project. In case of bugs and malfunctions please DO NOT file a report upstream.
First of all check if the wiki (https://wiki.archlinux.org/index.php/Pi-hole) can help then ask here for assistance and tips.
When it will be excluded that the problem does not depend on ArchLinux we will file a bug upstream.