If you get a module not found error for portmod or any of its dependencies after the python version has updated, you need to re-install those packages (portmod depends on a few python packages that are rarely updated). See https://wiki.archlinux.org/title/Python#Module_not_found_after_Python_version_update
Search Criteria
Package Details: portmod 2.9.1-2
Package Actions
Git Clone URL: | https://aur.archlinux.org/portmod.git (read-only, click to copy) |
---|---|
Package Base: | portmod |
Description: | A cli tool to manage mods for OpenMW |
Upstream URL: | https://gitlab.com/portmod/portmod |
Licenses: | GPL3 |
Replaces: | openmmm |
Submitter: | bmwinger |
Maintainer: | bmwinger |
Last Packager: | bmwinger |
Votes: | 8 |
Popularity: | 0.000001 |
First Submitted: | 2019-08-11 01:45 (UTC) |
Last Updated: | 2025-05-16 01:44 (UTC) |
Dependencies (31)
- bubblewrap (bubblewrap-gitAUR, bubblewrap-suid)
- patoolAUR (patool-gitAUR)
- python (python37AUR)
- python-chardet
- python-colorama (python-colorama-gitAUR)
- python-fasteners (python-fasteners-gitAUR)
- python-gitpython
- python-progressbar
- python-python-satAUR
- python-redbaronAUR
- python-requests
- python-restrictedpythonAUR
- python-setuptools
- clang (llvm-gitAUR, clang-minimal-gitAUR, clang17-binAUR) (make)
- lld (llvm-gitAUR) (make)
- make (make-gitAUR) (make)
- python (python37AUR) (make)
- python-autodocsummAUR (make)
- python-packaging (make)
- python-setuptools (make)
- Show 11 more dependencies...
Required by (1)
Sources (1)
bmwinger commented on 2025-07-12 01:43 (UTC)
bmwinger commented on 2025-07-12 01:40 (UTC)
The index issue when syncing/querying I've run into before occasionally when updating from one version of portmod to the next (more specifically, one version of the tantivy indexer). Portmod will handle most index build issues by deleting and re-building the index from scratch, but it can't catch the panic. You can manually fix the issue by deleting the index (should be in ~/.cache/portmod/index
). I guess in future it would be better to have portmod delete the index every time the tantivy version changes (breaking version changes at least). I've created an issue to track the problem: https://gitlab.com/portmod/portmod/-/issues/439.
I'm not sure about the issue with loading tamriel-data (I can't reproduce it), but what is 'gitaids'?
Also a friendly reminder that these comments are meant for issues with the AUR package, and while it's not a huge problem to report upstream problems here, it may be helpful to minimize off-topic comments to keep problems related to the AUR package visible (no threads or closable issues here unfortunately, though I guess I can pin comments about problems that come up repeatedly). Issues with portmod itself should be reported on the portmod issue tracker: https://gitlab.com/portmod/portmod/-/issues
Dornhoeschen commented on 2025-07-09 22:07 (UTC)
Not a problem of the software itself, but due to the use of gitaids, here is an error I get with openmw repo (?)
portmod openmw merge --update --deep @world
[...]
Fetch instructions for landmasses/tamriel-data-11::openmw:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/portmodlib/_loader.py", line 396, in load_file
pkg = __load_file_common(path, module, installed)
File "/usr/lib/python3.13/site-packages/portmodlib/_loader.py", line 342, in __load_file_common
pkg = module["Package"]()
File "/home/dornhoeschen/.data/games/Morrowind/portmod/openmw/var/db/common/nexus/nexus-1.0-r3.pybuild", line 57, in __init__
self.SRC_URI += f" {token}"
^^^^^^^^^^^^
AttributeError: 'Package' object has no attribute 'SRC_URI'
ERROR: The nofetch phase of the pybuild /home/dornhoeschen/.local/share/portmod/repos/openmw/landmasses/tamriel-data/tamriel-data-11.yaml failed.
Do not report this error message by itself. There will be another error message from the sandboxed code for the actual problem, probably directly above this one.
Dornhoeschen commented on 2025-07-09 21:58 (UTC) (edited on 2025-07-09 22:12 (UTC) by Dornhoeschen)
portmod sync
Syncing repo meta…
Done syncing repo meta.
Syncing repo openmw…
Done syncing repo openmw.
Syncing repo python…
Done syncing repo python.
Beginning index update for repo meta
Collecting packages|# |0 Elapsed Time: 0:00:00
Loading package data|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|1 Time: 0:00:00
Updating index /
thread 'merge_thread_0' panicked at /home/dornhoeschen/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tantivy-common-0.9.0/src/file_slice.rs:176:5:
assertion failed: end <= orig_range.end
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'segment_updater' panicked at /home/dornhoeschen/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tantivy-common-0.9.0/src/file_slice.rs:176:5:
assertion failed: end <= orig_range.end
Rayon: detected unexpected panic; aborting
Updating index / fish: Job 1, 'portmod sync' terminated by signal SIGABRT (Abort)
Updating index \
portmod openmw search wares
thread '<unnamed>' panicked at /home/dornhoeschen/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tantivy-common-0.9.0/src/file_slice.rs:176:5:
assertion failed: end <= orig_range.end
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Traceback (most recent call last):
File "/usr/bin/portmod", line 33, in <module>
sys.exit(load_entry_point('portmod==2.9.1', 'console_scripts', 'portmod')())
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/site-packages/portmod/_cli/main.py", line 337, in main
args.func(args)
~~~~~~~~~^^^^^^
File "/usr/lib/python3.13/site-packages/portmod/_cli/search.py", line 21, in search_main
query(
~~~~~^
" ".join(args.query),
^^^^^^^^^^^^^^^^^^^^^
limit=0,
^^^^^^^^
)
^
File "/usr/lib/python3.13/site-packages/portmod/query.py", line 164, in query
return native_query(
env.INDEX, [repo.name for repo in env.prefix().REPOS], value, limit
)
pyo3_runtime.PanicException: assertion failed: end <= orig_range.end
Possibly relates: https://github.com/quickwit-oss/tantivy/issues/1629
tuxayo commented on 2025-06-24 03:10 (UTC)
Thanks for the python-python-sat update :)
See https://wiki.archlinux.org/title/Python#Module_not_found_after_Python_version_update
Ok, it's not just Perl that has this. Thanks, now I'll just check with ls -ld /usr/lib/python*
I had also something from Python 3.8 ^^"
I generally avoid it since it only helps if the bump occurs before someone runs an update
I guess in official repos the simultaneous updates avoid that issue.
Thanks for the guideline. I'll err on the side of caution like you.
bmwinger commented on 2025-06-23 23:45 (UTC) (edited on 2025-07-12 01:43 (UTC) by bmwinger)
See https://wiki.archlinux.org/title/Python#Module_not_found_after_Python_version_update
It happens after every python update. I'm not actually sure if there's an official policy on AUR pkgrel bumps after python updates, but I generally avoid it since it only helps if the bump occurs before someone runs an update and otherwise just leads to unnecessary rebuilds. But python-sat is probably due an update anyway (they don't really do releases) so I'll bump the version on that; it looks like there have been a few bugfixes which could possibly be relevant to portmod.
tuxayo commented on 2025-06-23 22:24 (UTC)
For anyone else having ModuleNotFoundError: No module named 'pysat' and ModuleNotFoundError: No module named 'rply'
I was able to build after rebuiling python-python-sat and python-rply. Should I flag them out of date? I'm not sure it's valid for a case of a rebuild needed.
Dornhoeschen commented on 2025-03-29 08:13 (UTC) (edited on 2025-03-29 08:15 (UTC) by Dornhoeschen)
Thank you, I could reinstall python-baron
with yay -S python-baron --mflags "--nocheck"
.
I have no clue about what python-baron
or python-redbaron
does, but I can see that the git of python-baron
has its last commit 4 years ago - there is several PRs not merged and I would say this package is abandoned. Maybe you could rely on other packages instead.
Fixing the baron error leads me to:
Finished `release` profile [optimized] target(s) in 2m 11s
Copying rust artifact from target/release/libportmod.so to portmodlib/portmod.cpython-313-x86_64-linux-gnu.so
make: Entering directory '/home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc'
Running Sphinx v8.2.3
loading translations [en]... done
WARNING: while setting up extension sphinxcontrib.apidoc: Failed to convert [[<class 'str'>]] to a frozenset
making output directory... done
[autosummary] generating autosummary for: basic-usage.rst, cli/index.rst, cli/inquisitor.rst, cli/portmod.rst, concepts/cfg-protect.rst, concepts/index.rst, concepts/keywords.rst, concepts/modules.rst, concepts/profiles.rst, concepts/sandbox.rst, ..., dev/repo/package-files.rst, dev/repo/profiles.rst, dev/setup.rst, dev/use-flags.rst, index.rst, install/index.rst, install/linux.rst, install/macos.rst, install/windows.rst, setup.rst
loading intersphinx inventory 'python' from https://docs.python.org/3/objects.inv ...
Creating file /home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc/dev/pybuild/pybuild.rst.
Creating file /home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc/dev/pybuild/pybuild.info.rst.
Creating file /home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc/dev/pybuild/pybuild.winreg.rst.
building [mo]: targets for 0 po files that are out of date
writing output...
building [man]: all manpages
updating environment: [new config] 47 added, 0 changed, 0 removed
WARNING:root:Architecture test could not be found. It may not be a supported Architecture.
Collecting packages|# |0 Elapsed Time: 0:00:00
Loading package data|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|1 Time: 0:00:00
Done updating index. |
reading sources... [100%] setup
looking for now-outdated files... none found
pickling environment... done
checking consistency... /home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc/dev/l10n.rst: document is referenced in multiple toctrees: ['dev/index', 'dev/index'], selecting: dev/index <- dev/l10n
/home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc/dev/manifest.rst: document is referenced in multiple toctrees: ['dev/packages', 'dev/repo/index'], selecting: dev/repo/index <- dev/manifest
done
preparing documents... done
copying assets...
copying assets: done
writing... man1/inquisitor.1 {
} man1/portmod.1 {
} man5/portmod.5 {
config/package.accept_license
config/package.accept_keywords
config/package.mask
config/package.use
config/portmod.conf
config/profile.user
config/repos.cfg
config/sets
} man7/portmod.7 {
concepts/keywords
concepts/sets
concepts/use-flags
concepts/profiles
concepts/sandbox
concepts/cfg-protect
concepts/modules
} man7/pybuild.7 {
dev/naming
dev/manifest
dev/dependencies
dev/use-flags
dev/archives
dev/pybuild/pybuild
dev/pybuild/pybuild.info
dev/pybuild/pybuild.winreg
dev/common
dev/modules
dev/arch_version
} man3/pybuild.3 {
dev/pybuild/pybuild.info
dev/pybuild/pybuild.winreg
} man5/pybuild.5 {
dev/repo/package-files
dev/repo/metadata.yaml
dev/manifest
dev/repo/profiles
dev/repo/layout.conf
} done
build finished with problems, 1 warning (with warnings treated as errors).
make: *** [Makefile:20: man] Error 1
make: Leaving directory '/home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc'
==> ERROR: A failure occurred in build().
Aborting...
-> error making: portmod-exit status 4
-> Failed to install the following packages. Manual intervention is required:
portmod - exit status 4
There is two warning
WARNING: while setting up extension sphinxcontrib.apidoc: Failed to convert [[<class 'str'>]] to a frozenset
[..]
WARNING:root:Architecture test could not be found. It may not be a supported Architecture.
I am not sure what fails the build.
Note: im running python-sphinx-8.2.3-1
bmwinger commented on 2025-03-03 01:44 (UTC)
Still working for me, with the exception that the manpage generation was producing a warning that was being treated as an error and making the build fail (the warning doesn't appear to have a negative effect, though I don't know exactly what's causing it). I've pushed a quick change to the package that makes that warning nonfatal.
The simple workaround for baron is just to edit the PKGBUILD and remove the tests. If you're using makepkg directly you can use --nocheck
instead. I'm not sure if any of the AUR helpers let you skip checks, but yay at least will let you edit the PKGBUILD through its interface with --editmenu
.
Dornhoeschen commented on 2025-03-03 00:30 (UTC) (edited on 2025-03-03 00:31 (UTC) by Dornhoeschen)
With the latest update to python-restrictedpython 8.0-1 i get further.
The following warning appears:
==> Starting build()...
/usr/lib/python3.13/site-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!
********************************************************************************
Requirements should be satisfied by a PEP 517 installer.
If you are using pip, you can try `pip install --use-pep517`.
********************************************************************************
!!
dist.fetch_build_eggs(dist.setup_requires)
WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section'
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject
section = defn.get("tool", {})[tool_name]
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'setuptools_scm'
running build_rust
I then had to rebuild python-python-sat
, python-redbaron
and python-baron
.
The later failed to build because of some tests.
You reported a workaround on the package page - but I am unsure if I can apply it. Hence I reported the error.
In conclusion: Still no portmod available on arch
Pinned Comments
bmwinger commented on 2025-07-12 01:43 (UTC)
If you get a module not found error for portmod or any of its dependencies after the python version has updated, you need to re-install those packages (portmod depends on a few python packages that are rarely updated). See https://wiki.archlinux.org/title/Python#Module_not_found_after_Python_version_update