-
-
Notifications
You must be signed in to change notification settings - Fork 64
Description
Hello,
I'm following up on Issue #989, which was closed after linking to official documentation. That documentation does not contain enough technical detail to resolve the problem, and I am still unable to build a functioning .zim reader using libzim.
Situation Summary
Objective:
Build a native .zim file browser (not using kiwix-serve or browser wrappers)
Platform:
Raspberry Pi 5 (16GB RAM), Debian 12 (bookworm), 64-bit Wayland Desktop
Compiler:
g++ (Debian 12.2.0-14)
libzim Source:
Cloned from https://github.com/openzim/libzim
Build Tools:
Meson, Ninja
Installation Path:
/usr/local/include/zim/, /usr/local/lib/aarch64-linux-gnu/
Issues Encountered
1. Missing Methods at Compile Time
archive.getEntry(index)→ ‘zim::Archive’ has no member named ‘getEntry’entry.getItem()→ incomplete type ‘zim::Item’item.getData()→ request for member in incomplete type
These are not runtime bugs — these methods are missing from the compiled headers or not properly exposed.
2. No Working Examples
- No minimal example exists that shows how to:
- Open a
.zimfile - Iterate entries
- Retrieve and render HTML article content
- Open a
Why the Linked Docs Were Insufficient
Your last response included:
- https://libzim.readthedocs.io/en/latest/usage.html
- https://python-libzim.readthedocs.io/en/latest/
- A link on how to write GitHub issues
Here’s why that did not help:
- The C++ docs lack function-level guidance on iteration or reading article content
- The Python docs are incomplete and do not expose redirect resolution or content rendering logic
- The “how to post” link was unnecessary — I’m not filing a bug, I’m asking for clarity about the public usability of this API
If you prefer I break this into multiple micro-issues, I’m happy to do that. I grouped these questions here to reduce clutter.
What Is Needed Now:
-
A tagged, stable
libzimrelease that supports:getEntryByIndex()getItem()getData()
-
A minimal, working C++ example that:
- Opens a
.zimarchive - Iterates entries
- Finds and prints an HTML article (e.g.
text/htmlmimetype)
- Opens a
-
Or: an official statement confirming that direct content reading is unsupported
Why This Matters
I've spent weeks trying to build a clean .zim article reader. If libzim is not usable outside kiwix-serve, that should be stated clearly. Developers deserve to know up front that this library is not meant for independent tools.
If libzim is only for Kiwix’s internal ecosystem, please say so.
If it is truly open-source and meant for general use, then provide the documentation and working examples needed to support that.
If this issue continues to block real-world use, I may escalate it to the Kiwix Foundation or broader openZIM community to clarify the project’s direction and transparency expectations.
Final Ask
- Provide a working example
- Identify a usable version tag
- Or confirm that native
.zimcontent access is unsupported
Thank you for your time.
— sj80231
Raspberry Pi 5 | Debian 12 | GCC 12.2 | libzim HEAD