Thanks for the patch. Looks like this was fixed upstream (see commit 12eff9a7), but hasn't made it to the networkmanager package yet.
Search Criteria
Package Details: networkmanager-iwd 1.52.0-1
Package Actions
Git Clone URL: | http://aur.archlinux.org/networkmanager-iwd.git (read-only, click to copy) |
---|---|
Package Base: | networkmanager-iwd |
Description: | Network connection manager and user applications; using iwd backend instead of wpa_supplicant |
Upstream URL: | http://networkmanager.dev/ |
Licenses: | GPL-2.0-or-later, LGPL-2.1-or-later |
Conflicts: | networkmanager |
Provides: | networkmanager |
Submitter: | digitalone |
Maintainer: | buzo |
Last Packager: | buzo |
Votes: | 34 |
Popularity: | 0.019832 |
First Submitted: | 2019-08-10 10:04 (UTC) |
Last Updated: | 2025-03-05 19:10 (UTC) |
Dependencies (65)
- audit
- curl (curl-gitAUR, curl-c-aresAUR)
- gcc-libs (gcc-libs-gitAUR, gccrs-libs-gitAUR, gcc-libs-snapshotAUR)
- glib2 (glib2-gitAUR, glib2-selinuxAUR, glib2-patched-thumbnailerAUR)
- glibc (glibc-gitAUR, glibc-linux4AUR, glibc-eacAUR)
- iproute2 (iproute2-gitAUR, iproute2-selinuxAUR)
- iwd (iwd-gitAUR)
- jansson (jansson-gitAUR)
- libmm-glib (libmm-glib-gitAUR, libmm-glib-devAUR)
- libndp
- libnewt
- libnm-iwdAUR
- libpsl (libpsl-gitAUR)
- libteam
- mobile-broadband-provider-info (mobile-broadband-provider-info-gitAUR)
- nspr (nspr-hgAUR)
- nss (nss-hgAUR)
- readline (readline-gitAUR)
- systemd-libs (systemd-libs-fmlAUR, systemd-libs-selinuxAUR, systemd-libs-gitAUR)
- audit (make)
- Show 45 more dependencies...
Required by (287)
- ags-hyprpanel-git (requires networkmanager)
- autorestartnm (requires networkmanager)
- better-control-git (requires networkmanager)
- blazefetch (requires networkmanager)
- blazefetch-git (requires networkmanager)
- bluetuith-bin (requires networkmanager) (optional)
- cachy-browser (requires networkmanager) (optional)
- clatd-git (requires NetworkManager) (optional)
- claws-mail-git (requires networkmanager) (make)
- claws-mail-gtk2 (requires networkmanager) (make)
- claws-mail-title-superset (requires networkmanager) (make)
- coretoppings (requires networkmanager) (optional)
- corplink-bin (requires networkmanager) (optional)
- cosmic-settings-git (requires networkmanager)
- crc (requires networkmanager)
- crc-bin (requires networkmanager)
- crc-git (requires networkmanager)
- datcord-bin (requires networkmanager) (optional)
- deepin-daemon-git (requires networkmanager) (make)
- deepin-daemon-git (requires networkmanager) (optional)
- Show 267 more...
Sources (2)
kylebarbour commented on 2025-05-05 19:25 (UTC)
maksverver commented on 2025-05-02 15:53 (UTC)
The GIRepository error probably needs to be fixed in the official package ("networkmanager" in the "extra" repository), but I was able to work around it with the following patch:
--- NetworkManager/tools/generate-docs-nm-settings-docs-gir.py.orig 2025-05-02 16:49:05.857660587 +0200
+++ NetworkManager/tools/generate-docs-nm-settings-docs-gir.py 2025-05-02 16:52:41.766620480 +0200
@@ -10,22 +10,9 @@
import gi
import re
-gi.require_version("GIRepository", "2.0")
+gi.require_version("GIRepository", "3.0")
from gi.repository import GIRepository
-try:
- libs = os.environ["LD_LIBRARY_PATH"].split(":")
- libs.reverse()
- for lib in libs:
- GIRepository.Repository.prepend_library_path(lib)
-except AttributeError:
- # An old GI version, that has no prepend_library_path
- # It's alright, it probably interprets LD_LIBRARY_PATH
- # correctly.
- pass
-except KeyError:
- pass
-
gi.require_version("NM", "1.0")
from gi.repository import NM, GObject
@@ -384,8 +371,4 @@
args = parser.parse_args()
- if args.lib_path:
- for lib in args.lib_path:
- GIRepository.Repository.prepend_library_path(lib)
-
main(args.gir, args.output, args.target)
This flat out ignores any custom library paths, which doesn't seem to break anything in an obvious way on my system. There are some invocations with a --lib-path argument. I would guess those are important but I don't really understand this code well enough to say for sure. In any case this patch should only affect generated documentation.
Indianb0y017 commented on 2025-05-01 22:32 (UTC) (edited on 2025-05-01 22:43 (UTC) by Indianb0y017)
Unable to build, even in a clean chroot, due to same error as below, although it seems to stop at:
[869/1069] Linking target src/core/platform/tests/test-route-fake
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
Aborting...
Phene commented on 2025-04-15 14:41 (UTC)
Can't build this package on latest EndeavourOS with KDE Plasma 6.3.4 and kernel 6.14.2-arch1-1 (64-bits). I get the following error:
FAILED: src/libnm-client-impl/nm-settings-docs-gir-nmcli.xml
/usr/bin/env GI_TYPELIB_PATH=/home/lucaspierru/.cache/yay/networkmanager-iwd/src/build/src/libnm-client-impl LD_LIBRARY_PATH=/home/lucaspierru/.cache/yay/networkmanager-iwd/src/build/src/libnm-client-impl /usr/bin/python3 /home/lucaspierru/.cache/yay/networkmanager-iwd/src/NetworkManager/tools/generate-docs-nm-settings-docs-gir.py --lib-path /home/lucaspierru/.cache/yay/networkmanager-iwd/src/build/src/libnm-client-impl --gir src/libnm-client-impl/NM-1.0.gir --output src/libnm-client-impl/nm-settings-docs-gir-nmcli.xml --target nmcli
Traceback (most recent call last):
File "/home/lucaspierru/.cache/yay/networkmanager-iwd/src/NetworkManager/tools/generate-docs-nm-settings-docs-gir.py", line 13, in <module>
gi.require_version("GIRepository", "2.0")
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/gi/__init__.py", line 132, in require_version
raise ValueError('Namespace %s not available for version %s' %
(namespace, version))
ValueError: Namespace GIRepository not available for version 2.0
maksverver commented on 2025-01-04 13:50 (UTC)
@tamarindx: Another thing you can try is taskset 1 makepkg
to lock the job to a single CPU core, so ninja won't spawn as many parallel tasks. (taskset is in the util-linux package.) I'd still recommend disabling LTO though, or compilation will take a long time.
By the way this type of discussion is probably better suited for the Arch Linux forums.
tamarindx commented on 2025-01-04 03:58 (UTC)
@makserver: I've added that line and removes those lines, it is defintely change the compiling proccess from 1000+ to 200+, but that compile proccess still took all my memory and freeze.
maksverver commented on 2025-01-04 01:06 (UTC)
@tamarindx: This is probably caused by a combination of the fact that ninja tries to use all available CPU cores and this package uses LTO which is notoriously memory-intensive, so on a system with lots of CPU cores but relatively little memory, you run out of memory.
Try disabling LTO by applying this patch:
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -20,6 +20,7 @@ pkgdesc="Network connection manager and user applications; using iwd backend ins
url="http://networkmanager.dev/"
arch=(x86_64)
license=(LGPL-2.1-or-later)
+options=(!lto)
makedepends=(
audit
bash
@@ -68,9 +69,6 @@ b2sums=('316b1a2e8dfe4d7c0c0fab36f506a8315bf4045f11c5820fb41ea4735dc0a248c04367b
build() {
local meson_options=(
- # build checks this option; injecting just via *FLAGS is broken
- -D b_lto=true
-
# platform
-D dist_version="$pkgver-$pkgrel"
-D session_tracking_consolekit=false
This will speed up the build process by a factor 100 or more without any noticeable downsides.
IMO its a mistake to enable LTO for AUR packages like this. Some basic math: enabling LTO increases build time by 60 minutes of CPU-core time. If LTO increases performance by 10% you'd need to spend 600 minutes of CPU time on NetworkManager to recover the loss. Since there is a new version released every month or so, that means you need to spend 20 minutes of CPU-core time per day just to break even. NetworkManager doesn't run that much under normal circumstances. So enabling LTO is just a big waste of CPU cycles.
tamarindx commented on 2025-01-03 22:48 (UTC)
Can't even managed to pass the ninja cmake compile proccess... it's eating all my RAM and freeze.
Taijian commented on 2024-10-09 00:00 (UTC)
While looking at some code over on github, I noticed that for the past two years there has been this build option: -D config_wifi_backend_default=iwd
.
Using this allows building without wpa-supplicant as a build dependency and without installing that override file into /usr/lib/NetworkManager/conf.d/30-wifi-backend.conf
JoeyCorleone commented on 2024-06-22 07:03 (UTC)
Yes, confirmed. As per this comment by heftig:
Thanks to Fabian, as of 2.80.3-1, the development utilities requiring additional dependencies (python, python-packaging, libelf) have been split from glib2 into glib2-devel with proper depends. You may need to add glib2-devel to the makedepends of your packages to get them to build again. At the same time, consider removing python or python-packaging from the makedepends if they were only added to run gdbus-codegen, glib-genmarshal or glib-mkenums.
Pinned Comments
digitalone commented on 2019-08-10 10:37 (UTC) (edited on 2019-08-15 09:14 (UTC) by digitalone)
This is a modified package configured to get NetworkManager working exclusively with iwd. Main difference with upstream version is that iwd is required and wpa_supplicant is not needed (so you can uninstall it); iwd seems more reliable on certain wireless cards, so someone could prefer it in place of wpa_supplicant.
It's recommended to enable systemd iwd.service at boot:
systemctl enable iwd.service
Tested with Plasma NM system tray applet (plasma-nm), it's working.
Note that wpa_supplicant is still needed to build the package, but you can uninstall it after the building stage.