Package Details: portmod 2.8.1-2

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.000005
First Submitted: 2019-08-11 01:45 (UTC)
Last Updated: 2025-03-29 13:30 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 Next › Last »

Dornhoeschen commented on 2024-12-11 14:42 (UTC) (edited on 2024-12-11 14:54 (UTC) by Dornhoeschen)

@tuxayo

yay -S lld aka pacman -S lld solves this Problem.

@bmwinger

With this new flag compiler flag -fuse-ld=lld the package has an additional dependency on the above mentioned package

I still fail to install the package even after installing lld, because the docs cant be generated.

    Finished `release` profile [optimized] target(s) in 2m 43s
Copying rust artifact from target/release/libportmod.so to portmodlib/portmod.cpython-312-x86_64-linux-gnu.so
make: Entering directory '/home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc'
Running Sphinx v8.1.3
loading translations [en]... done
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/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc/dev/pybuild/pybuild.rst.
Creating file /home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/doc/dev/pybuild/pybuild.info.rst.
Creating file /home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/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.

Exception occurred:
  File "/usr/lib/python3.12/site-packages/rply/parsergenerator.py", line 9, in <module>
    from appdirs import AppDirs
ModuleNotFoundError: No module named 'appdirs'
The full traceback has been saved in /tmp/sphinx-err-yo6qv07q.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
make: *** [Makefile:20: man] Error 2
make: Leaving directory '/home/dornhoeschen/.cache/yay/portmod/src/portmod-v2.8.0/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

This can be solved with yay -S python-appdirs - another missing dependency

tuxayo commented on 2024-12-07 02:29 (UTC)

I'm getting this error which seems related to what you had to workaround @bmwinger

Happens even with a default /etc/makepkg.conf.d/rust.conf.

Anyone else getting the same issue?

   Compiling autocfg v1.3.0
     Running `rustc --crate-name autocfg --edition=2015 /tmp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/autocfg-1.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=238 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' -C metadata=1757fdfd297c10b3 -C extra-filename=-1757fdfd297c10b3 --out-dir /var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/deps -C strip=debuginfo -L dependency=/var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/deps --cap-lints allow -Cforce-frame-pointers=yes -C opt-level=3 -C target-cpu=native -Clinker=clang -Clink-arg=-fuse-ld=lld`
error: linking with `clang` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/usr/lib64/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/bin" VSLANG="1033" "clang" "-m64" "/tmp/rustcEcGEOq/symbols.o" "/var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/build/proc-macro2-2bafd6e473681c71/build_script_build-2bafd6e473681c71.build_script_build.6a7cf4610b7d5553-cgu.0.rcgu.o" "/var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/build/proc-macro2-2bafd6e473681c71/build_script_build-2bafd6e473681c71.build_script_build.6a7cf4610b7d5553-cgu.1.rcgu.o" "/var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/build/proc-macro2-2bafd6e473681c71/build_script_build-2bafd6e473681c71.4m3k958s1d9ps24uxxi59cr2r.rcgu.o" "-Wl,--as-needed" "-Wl,-Bstatic" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libstd-391f02d30426e2d5.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-a422e091b58dfcd3.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libobject-9fe67c541ad269f1.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-b3821598ef64c164.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d3df9f185e9f0e89.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-04053dd1e13341ad.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-6a52efa5a12b49d5.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-5495661c1871064b.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-1f93e50dc6fde943.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-dfaf37e66e2796a7.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-60d2d6b0d5254d76.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libadler-04707c301ca685cc.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-9fd86a32e18447f4.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-641fd5bdc1c96d92.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-967bd9d7adb383b1.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-45a82bd61a66405a.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-27866343de798c54.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcore-f7aff1cc58607c34.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ee301cabeb4db339.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/var/cache/private/pikaur/build/portmod/src/portmod-v2.8.0/target/release/build/proc-macro2-2bafd6e473681c71/build_script_build-2bafd6e473681c71" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs" "-fuse-ld=lld"
  = note: clang: error: invalid linker name in argument '-fuse-ld=lld'

bmwinger commented on 2024-12-06 00:00 (UTC)

I managed to fix the issue blocking the update to 2.8. makepkg is setting '-flto=auto' in CFLAGS, but lto only works with zstd-rs if you're building with clang (see here). I've changed the C compiler to clang (alternatively it works with GCC if you set 'CFLAGS+=" -fno-lto"'). The 2.8 update also fixes the build issue on recent versions of rustc, so it should be working as normal again.

Dornhoeschen commented on 2024-10-18 10:41 (UTC) (edited on 2024-10-18 10:44 (UTC) by Dornhoeschen)

I finally got it installed again:

rm -rf /tmp/portmod.test/
sudo downgrade rust
> 1.79
yay -S python-redbaron
yay -S python-baron
yay -S portmod

Got me where I wanted. Thank you @bmwinger for your help.

I have the following insights:

  • For some reason redbaron and the baron package were not properly resolved as dependency for me
  • There was no hint for me visible that the conflicting path was /tmp/portmod.test/, hence it would be nice to be warned about this.

<3

bmwinger commented on 2024-10-18 02:21 (UTC)

That's something that can be prevented in portmod, as it should be cleaning up that directory automatically (currently it won't if an error occurs in a certain part of the code), but you can also do it yourself by deleting /tmp/portmod.test, where it's storing the temporary prefix used for generating the CLI docs.

Dornhoeschen commented on 2024-10-18 01:22 (UTC) (edited on 2024-10-18 01:25 (UTC) by Dornhoeschen)

Thank you for your feedback.

I am still unable to install it.

sudo downgrade rust > 1.79

yay -S portmod

...
writing output... 
building [man]: all manpages
updating environment: [new config] 47 added, 0 changed, 0 removed
reading sources... [  9%] cli/portmod
Exception occurred:
  File "/home/XXX/.cache/yay/portmod/src/portmod-v2.7.3/portmod/prefix.py", line 125, in add_prefix
    raise PrefixExistsError(prefix)
portmod.prefix.PrefixExistsError: The prefix <example> already exists
The full traceback has been saved in /tmp/sphinx-err-601d54bt.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
make: *** [Makefile:20: man] Error 2
make: Leaving directory '/home/XXX/.cache/yay/portmod/src/portmod-v2.7.3/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

bmwinger commented on 2024-10-17 21:55 (UTC)

@Dornhoeschen: I see. It looks like python-autodocsumm is orphaned and portmod is the only thing depending on it, so I should probably adopt it and give it an update. I guess the git tag changed on the upstream source or something, because the package seems like it should still work.

The issue with building time is resolved with newer versions, and doesn't appear to be an issue with portmod 2.8. However unfortunately that fails later due to not linking zstd-rs properly (required by tantivy, which is used to index packages). The portmod 2.8 build works fine everywhere else though, it's just failing with the arch build system.

Unfortunately memory safety has nothing to do with reliable builds. Other compilers break things on updates too (e.g. the gcc 14 update caused build failures for me in other software). The issue here is really just that we're doing an old build with a new compiler. It should work fine on <1.80, so you can work around the issue by installing rustup and rustc 1.79, and using that to build portmod 2.7.3.

Actually, only thing depending on the time crate is also tantivy, which is portmod's largest rust dependency, and is a big and complex project. Given that it's not particularly integral and has been causing problems I'm tempted to drop it for the sake of maintainability. But that's more of a portmod discussion than an AUR discussion.

Dornhoeschen commented on 2024-10-17 21:01 (UTC) (edited on 2024-10-17 21:15 (UTC) by Dornhoeschen)

Currently broken on my end.

The dependency integrity error on python-autodocsumm can be resolved with yay -S --mflags --skipinteg portmod.

The above error might also be caused by the fact that an outdated version of python-autodocsumm is in AUR due to the lack of a maintainer.

But then I run into error: could not compiletime(lib) due to 1 previous error which seems to be an "small" breaking change in rust's API according to this: https://discourse.nixos.org/t/rustc-explain-e0282-error-could-not-compile-time-lib/50765

If you allow this sarcastic comment: The packages which break the most are those with the super secure rust language - caused by "small" breaking changes. From rusts website: A language empowering everyone to build >reliable< and efficient software. Its obviously false advertisement

If you, the kind maintainer, could look into that, I'd appreciate it <3

RamenFiend commented on 2023-05-19 01:46 (UTC)

@bmwinger Thanks! I actually didn't know that. I was able to skip the checks just fine and upgraded. For anybody else with the same issues, do a reinstall of portmod and all dependencies, commenting out the check sections in the PKGBUILDs of the python packages that fail.

bmwinger commented on 2023-05-18 12:58 (UTC)

@RamenField: See https://wiki.archlinux.org/title/Python#Module_not_found_after_Python_version_update. This is a standard issue with how the AUR interacts with arch's binary packages which everyone using the AUR needs to be aware of.

The only thing that failed for me was redbaron, and that was just a test for the optional pygments functionality, so I just skipped the tests for redbaron when installing it.