Package Details: python-amulet-rocksdb 1.0.4-1

Git Clone URL: https://aur.archlinux.org/python-amulet-rocksdb.git (read-only, click to copy)
Package Base: python-amulet-rocksdb
Description: A pybind11 wrapper for RocksDB.
Upstream URL: https://github.com/Amulet-Team/Amulet-RocksDB
Keywords: amulet pybind11 rocksdb
Licenses: custom
Submitter: Kimiblock
Maintainer: Kimiblock (lilac)
Last Packager: lilac
Votes: 1
Popularity: 0.35
First Submitted: 2026-03-17 14:47 (UTC)
Last Updated: 2026-05-01 13:34 (UTC)

Latest Comments

un_pogaz commented on 2026-04-15 08:13 (UTC)

So, it worked. Package was succefully build and installed. I take note of the procedure. Thanks.

Kimiblock commented on 2026-04-15 07:37 (UTC)

You need to build its dependencies first, then pass them via -I in command line

https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot#:~:text=You%20can%20specify%20more%20than%20one%20package%20to%20be%20installed%20using%20multiple%20%2DI%20arguments%2E

un_pogaz commented on 2026-04-15 07:15 (UTC)

Now yes. Here the result: (don't know how to use it)

[un_pogaz@ python-amulet-rocksdb]$ pkgctl build
==> Updating pacman database cache
:: Synchronizing package databases...
 core downloading...
 extra downloading...
 multilib downloading...
==> Building python-amulet-rocksdb
  ->   repo: extra
  ->   arch: x86_64
  -> worker: un_pogaz-2
==> Building python-amulet-rocksdb for [extra] (x86_64)
:: Synchronizing package databases...
 core downloading...
 extra downloading...
:: Starting full system upgrade...
 there is nothing to do
==> Building in chroot for [extra] (x86_64)...
==> Synchronizing chroot copy [/var/lib/archbuild/extra-x86_64/root] -> [un_pogaz-2]...done
==> Making package: python-amulet-rocksdb 1.0.3-1 (mer. 15 avril 2026 09:13:42)
==> Retrieving sources...
  -> Cloning source git repo...
Cloning into bare repository '/mnt/home/un_pogaz/.cache/yay/python-amulet-rocksdb/source'...
remote: Enumerating objects: 377, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 377 (delta 2), reused 0 (delta 0), pack-reused 373 (from 1)
Receiving objects: 100% (377/377), 74.79 KiB | 2.27 MiB/s, done.
Resolving deltas: 100% (208/208), done.
==> Validating source files with md5sums...
    source ... Passed
==> Making package: python-amulet-rocksdb 1.0.3-1 (Wed Apr 15 07:13:46 2026)
==> Checking runtime dependencies...
==> Installing missing dependencies...
error: target not found: python-amulet_pybind11_extensions
==> ERROR: 'pacman' failed to install missing dependencies.
==> Missing dependencies:
  -> python
  -> pybind11
  -> python-amulet_pybind11_extensions
==> ERROR: Could not resolve all dependencies.
==> ERROR: Build failed, check /var/lib/archbuild/extra-x86_64/un_pogaz-2/build

Kimiblock commented on 2026-04-15 06:55 (UTC)

Have you tried chroot building via devtools pkgctl build?

un_pogaz commented on 2026-04-15 06:39 (UTC) (edited on 2026-04-15 06:46 (UTC) by un_pogaz)

Imposible to build the packages. I cleared the all cache or build direcly from the aur pkg but the error persist. Is a new insall, no previous version of the pkg.

Maybe it require a rocksdb dependencies? But which one? (their are one on the extra, and several on the aur)

amulet-map-editor version installed: 0.10.52-1 python-amulet-core version installed: 1.9.39-1

* Getting build dependencies for wheel...
[04/15/26 08:18:16] WARNING  toml section missing PosixPath('pyproject.toml') does not contain any of the tool sections:          _pyproject_reading.py:235
                             ['setuptools_scm', 'vcs-versioning']                                                                                          
/usr/lib/python3.14/site-packages/nose/plugins/manager.py:418: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
  import pkg_resources
running egg_info
creating src/amulet/amulet_rocksdb.egg-info
writing src/amulet/amulet_rocksdb.egg-info/PKG-INFO
writing dependency_links to src/amulet/amulet_rocksdb.egg-info/dependency_links.txt
writing entry points to src/amulet/amulet_rocksdb.egg-info/entry_points.txt
writing requirements to src/amulet/amulet_rocksdb.egg-info/requires.txt
writing top-level names to src/amulet/amulet_rocksdb.egg-info/top_level.txt
writing manifest file 'src/amulet/amulet_rocksdb.egg-info/SOURCES.txt'
/usr/lib/python3.14/site-packages/vcs_versioning/overrides.py:609: UserWarning: No GlobalOverrides context is active. Auto-creating one with SETUPTOOLS_SCM prefix for backwards compatibility. Consider using 'with GlobalOverrides.from_env("YOUR_TOOL"):' explicitly.
  return get_active_overrides().subprocess_timeout
reading manifest template 'MANIFEST.in'
writing manifest file 'src/amulet/amulet_rocksdb.egg-info/SOURCES.txt'
* Building wheel...
[04/15/26 08:18:16] WARNING  toml section missing PosixPath('pyproject.toml') does not contain any of the tool sections:          _pyproject_reading.py:235
                             ['setuptools_scm', 'vcs-versioning']                                                                                          
/usr/lib/python3.14/site-packages/nose/plugins/manager.py:418: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
  import pkg_resources
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-314/rocksdb
copying src/amulet/rocksdb/__init__.py -> build/lib.linux-x86_64-cpython-314/rocksdb
copying src/amulet/rocksdb/_version.py -> build/lib.linux-x86_64-cpython-314/rocksdb
creating build/lib.linux-x86_64-cpython-314/rocksdb/__pyinstaller
copying src/amulet/rocksdb/__pyinstaller/__init__.py -> build/lib.linux-x86_64-cpython-314/rocksdb/__pyinstaller
copying src/amulet/rocksdb/__pyinstaller/hook-amulet.rocksdb.py -> build/lib.linux-x86_64-cpython-314/rocksdb/__pyinstaller
copying src/amulet/rocksdb/__init__.pyi -> build/lib.linux-x86_64-cpython-314/rocksdb
copying src/amulet/rocksdb/_rocksdb.pyi -> build/lib.linux-x86_64-cpython-314/rocksdb
copying src/amulet/rocksdb/py.typed -> build/lib.linux-x86_64-cpython-314/rocksdb
UPDATING build/lib.linux-x86_64-cpython-314/rocksdb/_version.py
set build/lib.linux-x86_64-cpython-314/rocksdb/_version.py to '1.0.3+0.g9b41dd0.dirty'
  File "/usr/lib/python3.14/site-packages/setuptools/_distutils/command/build_ext.py", line 509, in _build_extensions_serial
    self.build_extension(ext)
    ~~~~~~~~~~~~~~~~~~~~^^^^^
  File "<string>", line 33, in build_extension
  File "/usr/lib/python3.14/site-packages/amulet/__init__.py", line 22, in <module>
    from amulet.level.load import load_level, load_format
  File "/usr/lib/python3.14/site-packages/amulet/level/__init__.py", line 1, in <module>
    from .load import load_format, load_level
  File "/usr/lib/python3.14/site-packages/amulet/level/load.py", line 6, in <module>
    from amulet.api.level import World, Structure
  File "/usr/lib/python3.14/site-packages/amulet/api/level/__init__.py", line 1, in <module>
    from .base_level import BaseLevel
  File "/usr/lib/python3.14/site-packages/amulet/api/level/base_level/__init__.py", line 1, in <module>
    from .base_level import BaseLevel
  File "/usr/lib/python3.14/site-packages/amulet/api/level/base_level/base_level.py", line 29, in <module>
    from rocksdb import RocksDB, Options, WriteOptions, CompressionType
ModuleNotFoundError: No module named 'rocksdb'

ERROR Backend subprocess exited when trying to invoke build_wheel

gwuensch commented on 2026-04-07 21:12 (UTC)

Thanks for the update. Though this didn't need a pkgrel bump ;)

Kimiblock commented on 2026-04-07 01:30 (UTC)

rebuilding, should be out in no time

gwuensch commented on 2026-04-01 19:21 (UTC)

Did you modify any makepkg configuration?

Indeed, !lto seems to be the culprit. With link-time optimization enabled, the package builds inside and outside a clean chroot. However, this option is by no means unusual, as it was the default until two years ago and is suggested in the Wiki to speed up local builds.

I see two solution: either adding the CXXFLAGS I mentioned, or specifically enabling LTO for this package. What do you think?

Kimiblock commented on 2026-03-19 02:59 (UTC)

Did you modify any makepkg configuration? It currently builds in a clean chroot with extra-x86_64-build

gwuensch commented on 2026-03-18 22:24 (UTC) (edited on 2026-03-18 22:24 (UTC) by gwuensch)

Requires CXXFLAGS+=" -Wno-error=maybe-uninitialized" to build successfully:

[ 18%] Building CXX object _deps/rocksdb-build/CMakeFiles/rocksdb.dir/db/compaction/compaction_picker_level.cc.o
In member function ‘void rocksdb::{anonymous}::LevelCompactionBuilder::SetupInitialFiles()’,
    inlined from ‘rocksdb::Compaction* rocksdb::{anonymous}::LevelCompactionBuilder::PickCompaction()’ at /tmp/tmp5e4eem6f/_deps/rocksdb-src/db/compaction/compaction_picker_level.cc:512:20,
    inlined from ‘virtual rocksdb::Compaction* rocksdb::LevelCompactionPicker::PickCompaction(const std::string&, const rocksdb::MutableCFOptions&, const rocksdb::MutableDBOptions&, const std::vector<long unsigned int>&, const rocksdb::SnapshotChecker*, rocksdb::VersionStorageInfo*, rocksdb::LogBuffer*, bool)’ at /tmp/tmp5e4eem6f/_deps/rocksdb-src/db/compaction/compaction_picker_level.cc:983:32:
/tmp/tmp5e4eem6f/_deps/rocksdb-src/db/compaction/compaction_picker_level.cc:286:42: error: ‘*(std::value_type*)((char*)&expired_files + offsetof(rocksdb::autovector<std::pair<int, rocksdb::FileMetaData*>, 8>,rocksdb::autovector<std::pair<int, rocksdb::FileMetaData*>, 8>::buf_[0])).std::pair<int, rocksdb::FileMetaData*>::first’ may be used uninitialized [-Werror=maybe-uninitialized]
  286 |     start_level_ = expired_files.front().first;
      |                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~
/tmp/tmp5e4eem6f/_deps/rocksdb-src/db/compaction/compaction_picker_level.cc: In member function ‘virtual rocksdb::Compaction* rocksdb::LevelCompactionPicker::PickCompaction(const std::string&, const rocksdb::MutableCFOptions&, const rocksdb::MutableDBOptions&, const std::vector<long unsigned int>&, const rocksdb::SnapshotChecker*, rocksdb::VersionStorageInfo*, rocksdb::LogBuffer*, bool)’:
/tmp/tmp5e4eem6f/_deps/rocksdb-src/db/compaction/compaction_picker_level.cc:284:10: note: ‘expired_files’ declared here
  284 |     auto expired_files = vstorage_->ExpiredTtlFiles();
      |          ^~~~~~~~~~~~~
cc1plus: all warnings being treated as errors