Recommended Free Tools
Install wkhtmltopdf from the Debian Buster repositories configured in the image, and let APT install its dependencies as a matched set. Then test both the binary and a real conversion inside the finished container. If an error remains, identify the exact missing library or display requirement rather than copying Qt files from another Debian release.
Why Qt library errors happen in Docker
wkhtmltopdf is not a self-contained executable by default. It needs compatible Qt and other shared libraries at runtime. A host installation can work while the container fails because the container has its own filesystem, package set, architecture, and library loader environment.
Debian Sources lists the Buster package as 0.12.5-1. The exact package and dependency availability still depend on the configured repository and architecture. Debian’s Bookworm package metadata names Qt runtime modules including core, GUI, network, print support, SVG, WebKit, and widgets; that list illustrates the dependency families, but it is not a Buster manifest. Install the Buster package through APT rather than treating another release’s metadata as an installation recipe. Debian Sources package versions · Bookworm package dependencies
Check the image, architecture, and installed binary
Run these checks in the image or a container created from it. They establish which operating system, CPU architecture, and executable are actually involved before you change packages.
#1 Best Overall
- Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
- Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
- CanaKit Turbine Black Case for the Raspberry Pi 5
- CanaKit Low Noise Bearing System Fan
- Mega Heat Sink - Black Anodized
cat /etc/os-release
dpkg --print-architecture
command -v wkhtmltopdf
dpkg-query -W -f='${Package} ${Version} ${Architecture}n' wkhtmltopdf 2>/dev/null || true
wkhtmltopdf --version
If command -v returns no path, the package is not installed or the executable is not on PATH. If it points to a custom download rather than the Debian package, you may be diagnosing a different binary from the one you intended to install. Record the architecture too: a library or package for another architecture will not satisfy the loader.
Install the Buster package and its dependencies together
For a Buster-based image that still has access to suitable Buster repositories, install the package with APT in the same Docker build. Do not add repositories from Bullseye, Bookworm, or another suite merely to obtain a library with a familiar filename.
FROM debian:buster
RUN apt-get update
&& apt-get install -y --no-install-recommends wkhtmltopdf
&& rm -rf /var/lib/apt/lists/*
RUN wkhtmltopdf --version
Build and test the resulting image rather than relying on an interactive host installation:
docker build --no-cache -t buster-wkhtmltopdf .
docker run --rm buster-wkhtmltopdf wkhtmltopdf --version
Availability of old-release repositories can change. If apt-get update cannot retrieve the configured Buster indexes, inspect the repository configuration and current availability for the target environment; do not quietly mix suites to get the build to pass. The Buster package version listed by Debian is 0.12.5-1. Debian lists 0.12.6-1 for Bullseye and 0.12.6-2 for Bookworm, so substituting a newer-suite binary is a build change, not a drop-in library fix. Debian Sources package versions
Rank #2
- Includes Raspberry Pi 4 4GB Model B with 1.5GHz 64-bit quad-core CPU (4GB RAM)
- Includes Pre-Loaded 32GB EVO+ Micro SD Card (Class 10), USB MicroSD Card Reader
- CanaKit Premium High-Gloss Raspberry Pi 4 Case with Integrated Fan Mount, CanaKit Low Noise Bearing System Fan
- CanaKit 3.5A USB-C Raspberry Pi 4 Power Supply (US Plug) with Noise Filter, Set of Heat Sinks, Display Cable - 6 foot (Supports up to 4K60p)
- CanaKit USB-C PiSwitch (On/Off Power Switch for Raspberry Pi 4)
Prove that PDF rendering works, not just library loading
A successful version command does not guarantee that conversion works. Create a small local HTML fixture and render it from inside the final image.
printf '<html><body><h1>Container PDF test</h1><p>Rendered locally.</p></body></html>' > smoke.html
wkhtmltopdf smoke.html smoke.pdf
ls -lh smoke.pdf
Run this as part of a container test or entrypoint check, with the same user and runtime settings used by the application. A failure at this stage may indicate more than an absent shared library: input loading, permissions, fonts, or display behavior can affect rendering.
Diagnose the exact missing library
When the error names a library such as libQt5*.so, identify which executable is loading and inspect its dynamic dependencies. ldd is useful when available in the image.
command -v wkhtmltopdf
ldd "$(command -v wkhtmltopdf)" | grep 'not found' || true
Use the reported SONAME—the exact shared-library name the loader expects—to find the matching package for the same Debian suite and architecture. Then install that package through APT and rebuild. If ldd is unavailable, install the appropriate diagnostic tooling only if needed, or inspect the package’s declared dependencies with Debian package tools.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Rank #3
- Not including the Raspberry Pi 5 (8GB), the Crowpi advanced version comes with the Raspberry Pi 5
- ELECROW Black Case for the Raspberry Pi 5, CrowPi is equipped with a 9-inch HD touchscreen along with a camera; All the regular components used in DIY electronics are packed into the CrowPi development board, such as LCD, LED matrix, buzzer, light sensor, PIR sensor, ultrasonic sensor, IR sensor, etc
- Raspberry Pi Sensors: The Crowpi raspberry pi 5 programming kit is jam-packed with lots of buttons such as 19 different sensors in a tidy easy to use package; You don't have to wait and wire things
- Build Quality: Solid ABS shell and well made components in one place make it strong and convenient to travel
- Programming Lessons: This raspberry pi 5 learning kit ships with step by step instructions and provides 21 lessons to take you through identifying components reading code and running it in the terminal
- A named library is “not found”: install the suite-matched package that provides that SONAME.
- The library exists but loading still fails: check whether a custom binary is being invoked, whether its architecture matches the image, and whether the library versions belong to a coherent suite.
- No missing library is reported, but conversion fails: investigate runtime rendering requirements, including the X11 caveat below, and capture the full conversion error.
Do not copy an isolated .so from another Debian release or add arbitrary files to /usr/lib. Matching filenames do not prove ABI compatibility; an inconsistent Qt and system-library set can replace a clear missing-library error with harder-to-diagnose loader or runtime failures.
Check the X11 and unpatched-Qt limitation
Debian’s Buster manpage says its build uses unpatched Qt and lists running without an X11 server among the features available only with patched Qt. Therefore, fixing the loader may not be enough for a headless Docker workload. If the version command succeeds but a conversion reports a display or X11 problem, verify whether the invocation needs an X server or an available virtual display such as xvfb. Confirm that the required package is available for the Buster repository and architecture you actually use; Bookworm metadata is not proof of Buster availability. Debian Buster wkhtmltopdf manpage
Debian’s Bookworm package metadata recommends an X server provider or xvfb, but that is newer-release context. Do not assume the same package recommendation or behavior applies unchanged to Buster. Bookworm package metadata
Choose a build that matches the container
If you use a downloaded upstream build instead of Debian’s package, verify its target Debian release, architecture, Qt build, and runtime dependencies. The words “generic” or “static” do not establish that all Qt and operating-system dependencies are bundled. The available evidence does not identify a specific external binary that is safe for every Buster image, so inspect the chosen build itself rather than relying on a broad compatibility claim.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #4
- Fully assembled for plug-and-play operation
- Includes Raspberry Pi 5 with 8GB RAM
- 256 GB PCIe Pi NVMe SSD (Pre-loaded with Pi 64-Bit OS)
- M.2 HAT+
- CanaKit Turbine Black Case for the Pi 5
Debian’s Bookworm package page says that package is not built against forked Qt and notes that some options are unsupported. Treat such build differences as a reason to test the exact features your application needs, not as grounds to replace the Buster binary without checking compatibility. Debian Bookworm package build note
Common errors and fixes
| Symptom | Likely cause | Next action |
|---|---|---|
error while loading shared libraries: … cannot open shared object file |
The invoked binary’s runtime dependency is absent or not discoverable. | Check command -v and ldd; install the package providing the named SONAME from the same suite and architecture. |
wkhtmltopdf: not found |
The package is absent, installation failed, or the executable is not on PATH. |
Check APT’s build output, dpkg-query, and command -v; install the Buster package if available. |
| Version prints, but PDF generation fails with an X11/display error | The binary loads, but the unpatched-Qt build may need an X server for the chosen use. | Check the Buster manpage and verify an X server or suitable virtual display for the image. |
APT cannot locate wkhtmltopdf or refresh package indexes |
The configured repository may not provide the package for that suite or architecture, or its indexes are unavailable. | Inspect the image’s APT sources and repository availability. Avoid mixing Debian suites as a shortcut. |
| It works locally but not in Docker | The host and image have different binaries, architectures, libraries, or runtime environment. | Run the checks and smoke conversion inside the final container, as the application user. |
Plan for maintenance as well as the immediate repair
The wkhtmltopdf upstream status page describes its foundations as old: “Qt 4 (which wkhtmltopdf uses) hasn’t been supported since 2015, the WebKit in it hasn’t been updated since 2012.” The same page discusses QtWebKit 5.212 as an old version packaged by major Linux distributions; it should not be read as a current support commitment. wkhtmltopdf upstream status
Debian’s tracker recorded removal of wkhtmltopdf from testing on 2025-02-05. The notice warns that its automatically generated explanation may be inaccurate and advises checking the actual hints file, so it is not proof that a package is unavailable in every Debian suite. Check live availability for the target release, and weigh the repair effort against the maintenance needs of a new system. Debian Package Tracker notice
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
If your actual need is to capture a web page as an image rather than render HTML to PDF with wkhtmltopdf, ScreenshotNeo offers a screenshot API and MCP server. This is a different workflow: it captures a URL, not a replacement package for local HTML-to-PDF rendering. Its request accepts a URL and returns an image or PDF.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsBest Value
- 【What you Get】You will get 1*Pi 5 8GB Single Board,1*RasTech Case,1*Active Cooler,1*Screwdriver,1*Installation instructions,12-month free warranty, lifetime service, 24-hour prompt and friendly response.
- 【More Connectors】There are two USB 3.0 ports(5Gbps simultaneously) and two USB 2.0 ports, which triple total bandwidth ,support any combination of up to two cameras or displays. Peak SD card performance is doubled through support for the SDR104 high-speed mode. It provides a smooth desktop experience for you. Offer Gigabit Ethernet and a PCIe interface, along with dual-band Wi-Fi and Bluetooth 5.0/BLE wireless capability. The RasTech Pi 5 Kit use the new 27W 5.1V 5A USB-C power connector.
- 【 Support Dual 4Kp60 Display 】Each of the two microHDMI sockets can control a 4K display at 60 Hertz, now support HDR, offering super HD video for media streaming projects. RPi 5 is the first RPi model that comes with a PCI Express port (PCIe 2.0 x1 with 500 MB/s) to attach SSDs (requires separate M.2 HAT).
- 【 Excellent Chips And Applications】Pi 5 is a full-size Pi computer using silicon built in-house at Pi. The RP1 “southbridge” provides the bulk of the I/O capabilities for Pi 5. Pi 5 is more friendly and convenient in the development of Internet of Things, Web development, machine identification, automatic control and other electronic equipment applications and network.
- 【 Faster CPU, Better GPU 】 Pi 5 features a Broadcom BCM2712 64-bit quad-core Arm Cortex-A76 processor running at 2.4GHz, it delivers a 2–3× increase in CPU performance relative to RaspberryPi 4. The 800MHz VideoCore VII GPU is compatible to OpenGL ES 3.1 and Vulkan 1.2, substantial uplift in graphics performance. Pi 5 Offers lightning-fast CPU speed, a PCI Express interface, a Real Time Clock (RTC) and a power button and runs significantly cooler than Pi 4.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for options. It removes cookie/consent banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, failed loads, timeouts, and cache hits are not billed. Its MCP server gives AI agents tools to take screenshots, inspect page information, and capture PDFs. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. ScreenshotNeo also supports PNG, JPEG, WebP, and PDF output.
Sign up for ScreenshotNeo free: 1,000 screenshots a month, no card.
Frequently Asked Questions
Does installing only libQt5Core fix every wkhtmltopdf error?
No. The required libraries depend on the binary and image. Use the loader error and dependency inspection to identify the missing package.
Can I use a Bookworm wkhtmltopdf binary in a Buster container?
Do not assume compatibility. Match the binary, architecture, Qt build, and runtime libraries to the target image, then test the actual conversion.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




