Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If Rails reports a missing shared library when it starts wkhtmltopdf, fix the native executable and its runtime environment—not your PDF template. First identify the exact binary Rails launches and the library named in the loader error. Then use a binary and runtime packages compatible with the deployed operating system, libc, architecture, and library ABI. Wicked PDF is a Ruby wrapper; wkhtmltopdf is a separate native process, so a working local Rails setup does not prove the production executable can start.

What a shared-library error means

A dynamic loader must resolve an executable’s required libraries before that executable can run. If startup stops with an error such as Error loading shared library libssl.so.1.1: No such file or directory, HTML rendering has not begun. Changing a Rails view, PDF margin, or asset URL will not supply the missing library.

The filename is a clue to the executable’s runtime expectations. For example, a request for libssl.so.1.1 does not mean that any installed OpenSSL version will satisfy it: the runtime must provide the compatible library ABI and expected filename. Other failures can involve libc, architecture, or another dependency. The official wkhtmltopdf packaging guidance describes library-version, OpenSSL, and libc differences as reasons binaries can fail across distributions (wkhtmltopdf downloads and FAQ).

Find the executable Rails actually runs

Diagnose from the same container or host, architecture, user, and environment used by the Rails web process or background worker. A successful command in your laptop shell—or even on the container host—does not establish that the deployed process sees the same executable or libraries.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Epson EcoTank ET-2800 Wireless Color All-in-One Supertank Printer - Black
  • INNOVATIVE CARTRIDGE-FREE PRINTING — No more dealing with lots of tiny ink cartridges; With this wireless document and photo printer each ink bottle set is equivalent to about 90 individual cartridges²
  • LESS FREQUENT INK REPLACEMENT — Replacement ink bottles don't have to be changed nearly as often as ink cartridges¹; When you choose this combination printer, scanner and copier you can print up to 4,500 pages black/7,500 color³
  • COLOR PRINTING — Up to 2 years of ink in the box4 (and with every replacement ink set) for fewer out-of-ink frustrations
  • ZERO CARTRIDGE WASTE — By using an Epson EcoTank printer you can help reduce the amount of cartridge waste ending up in landfills
  • HOME PRINTER DESIGNED FOR RELIABILITY — The Epson EcoTank ET-2800 All-in-One Supertank Color Printer creates vivid, detailed prints and documents thanks to Micro Piezo Heat-Free Technology; Fire off 10 ISO pages per minute1 to easily finish large jobs
  1. Record the complete error, including the exact missing library filename.
  2. In the failing runtime, inspect wkhtmltopdf --version and resolve the executable path. If several copies exist, use the path configured for the running app rather than assuming the shell’s default is selected.
  3. Record the distribution and release, CPU architecture, and libc family/version. Identify whether the binary came from an OS package, a copied file, or a Ruby gem.
  4. Use the platform’s dependency-inspection tools to identify unresolved libraries. ldd is available on many common Linux systems, but diagnostic commands vary by operating system; use the appropriate tool for the target image.

Wicked PDF documents that wkhtmltopdf is an external executable. Its README describes the wkhtmltopdf-binary gem for many Linux and macOS installations and supports selecting a non-default executable with exe_path (Wicked PDF README). A configured path, service PATH, and binary inspected in a shell can disagree; verify the choice from the app’s actual runtime context.

WickedPdf.configure do |c|
  c.exe_path = '/usr/local/bin/wkhtmltopdf'
end

Set the path to the executable you have verified, not automatically to this example path. If a gem, OS package, and manually copied binary are all present, remove the ambiguity by selecting the intended one explicitly.

Match the binary to the deployment platform

“Linux” is not a sufficiently precise compatibility target. Check the distribution and release, architecture, libc family, and the exact library SONAME requested by the loader. The wkhtmltopdf downloads FAQ notes that Alpine uses musl rather than glibc and that generic binaries historically did not work there. It also describes OpenSSL and system-library version differences among distributions. Treat a bundled binary as a packaging convenience, not proof that every current platform and dependency is supported.

  • Choose a wkhtmltopdf package or build intended for the deployment distribution and release, or use a compatible base image.
  • Check whether the executable expects glibc or musl and whether the final runtime image supplies that libc.
  • Compare the missing SONAME—for example, libssl.so.1.1—with libraries actually present in the image. A different OpenSSL major ABI is not automatically a substitute.
  • For multi-stage container builds, install required runtime packages in the final image stage. Packages installed only in a discarded build stage are unavailable to the Rails process.

On April 25, 2024, a GitHub issue reported Rails 7 with Wicked PDF 2.7.0 and wkhtmltopdf 0.12.5 in an Alpine Docker image, with missing libssl.so.1.1 and libcrypto.so.1.1 errors while the reporter described an OpenSSL 3 environment (Wicked PDF issue #1114). That is a concrete report of an incompatible combination, not a universal Alpine fix or compatibility matrix.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Epson EcoTank Photo ET-8550 Wireless Wide-Format All-in-One Tank Printer
  • CARTRIDGE-FREE PRINTING — Print lab-quality photos, graphics and creative projects; Get vibrant colors and sharp text with Epson's high-accuracy printhead and Claria ET Premium 6-color inks
  • INK BOTTLES — Save on photos1 and creative projects with affordable in-house printing; All-in-one printer allows you to print 4" x 6" photos for about 4 cents each vs. 40 cents with traditional ink cartridges1
  • LESS FREQUENT INK REPLACEMENT — Replacement ink bottles don't have to be changed nearly as often as ink cartridges¹; Printer, scanner and copier lets you print up to 6,200 color pages³
  • PRINT FOR LONGER — Up to 2 years of ink in the box² (and with every replacement ink set) for fewer out-of-ink frustrations with this wireless printer
  • ZERO CARTRIDGE WASTE — Epson EcoTank printer helps reduce the amount of cartridge waste ending up in landfills; Cartridge-free printer uses high-yield ink bottles; Each replacement ink bottle set is equivalent to about 100 individual ink cartridges⁴

Choose a fix based on the error

libssl.so.1.1 or libcrypto.so.1.1 is missing

Determine whether the selected executable was linked against OpenSSL 1.1 while the deployed image supplies a different ABI. Use a compatible executable/runtime pair or provide the required compatible library through supported packages for that platform. Do not assume the presence of OpenSSL 3 satisfies a request for the 1.1 SONAME.

The message says “not found” but names no library

Confirm the selected executable, architecture, dynamic interpreter/runtime, libc, and unresolved dependencies. A missing-library message can have causes beyond OpenSSL; use the dependency-inspection output and the target platform’s package documentation to narrow it down.

The failure occurs only on Alpine

Check musl versus glibc compatibility before adding packages. Select a build that supports the image’s libc, or choose a base image compatible with the binary you need. A binary copied from another distribution is not made compatible merely by placing it in an Alpine image.

The binary is packaged for Lambda or another extracted layout

The official wkhtmltopdf packaging page shows an example Lambda layout that sets LD_LIBRARY_PATH=/opt/lib and FONTCONFIG_PATH=/opt/fonts. Those paths apply to that example, not every deployment. Include the distribution-appropriate libraries, configuration, and fonts required by the package you actually use.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
HP Smart Tank 5000 Wireless All-in-One Ink Tank Printer, Scanner, Copier with 2 Years of Ink Included, Best-for-Home, Cartridge-Free, Refillable and AI-Enabled. (5D1B6A)
  • SET IT UP ONCE AND PRINT WITH CONFIDENCE. No complicated maintenance. Just easy, reliable printing you can count on.
  • INK FOR YEARS. NOT MONTHS. Up to 2 years of ink included. Get thousands of pages of cartridge-free printing. More pages, less hassle
  • KEEPS PRINTING WELL AFTER COMPETITORS HAVE QUIT. No complex maintenance. Sharper text, richer colors.[2] Only with HP Smart Tank
  • PREMIUM SUPPORT - Strong technical expertise to solve issues faster
  • THE LAST PRINTER YOU'LL EVER NEED. Enjoy years of refillable, cartridge-free printing.

Avoid making a differently versioned library appear to have the missing SONAME with an arbitrary symlink unless the library vendor documents ABI compatibility. Renaming an incompatible library can replace a clear loader error with crashes or incorrect behavior.

Verify the repair from the Rails runtime

  1. Rebuild or update the final deployment image with the selected executable and its compatible runtime dependencies.
  2. As the same user and in the same environment as the Rails service, confirm the executable path and run wkhtmltopdf --version.
  3. Run a minimal conversion directly in that image. Confirm that the command starts and produces a PDF before testing Rails integration.
  4. Generate a PDF through the application’s normal Rails path. If the executable now runs but the document lacks styles or images, investigate asset references separately; Wicked PDF’s README discusses absolute asset paths. That is a rendering issue, not a shared-library startup failure.

When to keep wkhtmltopdf—and when to reconsider it

Keep the existing renderer if its output meets the application’s needs and you can reproducibly deploy a compatible binary/runtime pair. Compare alternatives against actual rendering requirements, supported deployment platforms, security posture, and the work needed to migrate templates and operations.

The wkhtmltopdf downloads page lists 0.12.6 as its stable series and gives June 11, 2020 as its release date; this is the page’s stated release information, not a claim that it is the latest available in 2026. Check the project’s current package availability for your target platform before adopting a build. The project’s status page describes its Qt/WebKit foundation as old and suggests WeasyPrint or commercial Prince for controlled report generation, and Puppeteer for JavaScript-heavy pages (wkhtmltopdf project status). These are options to evaluate, not a universal replacement recommendation.

Security implications of HTML-to-PDF conversion

The wkhtmltopdf downloads guidance warns against processing untrusted HTML and advises sanitizing user-supplied HTML and JavaScript; it says unsafe input can put the server running the converter at risk. If users can influence converted content, treat conversion as a security boundary: sanitize input and consider restricting the process with a mandatory access-control system such as AppArmor or SELinux, as the project status recommends. Fixing a library error does not address this separate risk.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
NDYIN Portable Printers Wireless for Travel, N80 Bluetooth Thermal Printer
  • Wireless Bluetooth Printer: Portable thermal printer compatible with iPhone, Android phones, iPad and tablet computers via Bluetooth. For smartphones, please download the "Nada Print" App. You can also connect to laptops and computers for printing using a USB-C cable. (Note: Laptops and computers can only be connected via USB and require the installation of a driver first. Bluetooth connection is not supported.)
  • No-ink printing: Only supports US Letter and A4 size thermal paper.(Doesn't support regular paper) The no-ink portable thermal printer uses direct thermal technology, requiring no ink, toner or ribbons, making it environmentally friendly, cost-effective and time-saving. The thermal printer package comes with a roll of US Letter thermal printing paper. Note: When installing the paper, remember to switch the paper size switch on APP
  • Clear Print: NDYIN N80 portable thermal printer adopts high-definition printing technology, with a 203DPI resolution to provide you with clear printing results. This mobile printer is compatible with roll paper, folded paper and tattoo transfer paper, supporting printing from your mobile phone PDF, Word, pictures and web pages anytime and anywhere. It is recommended to use our NDYIN thermal paper to achieve good printing quality
  • Portable wireless printer for travel: The thermal printer is equipped with a built-in 1500mAh rechargeable battery, which can print 160 sheets of 8.5" x 11" thermal paper after being fully charged. It weighs only 1.5 pounds and is compact in size. This ink-free portable printer can be easily carried in a backpack or briefcase! It is perfect for business travel, cars, small offices, construction sites, schools and homes. You can print documents, contracts, invoices and boarding passes anytime and anywhere
  • The N80 thermal printer has a wide range of uses. The package includes the N80 printer, a roll of US Letter paper(7m/roll), a user manual, a guide card, a type-C soft cable and a type C adapter. Note: The charging adapter is not included. Special thermal paper is required for use; ordinary paper cannot be used. This ink-free portable thermal printer is suitable for various scenarios such as home, school, travel, office, and outdoor, meeting the printing needs of different groups of people. This tattoo template printer is also compatible with tattoo transfer paper, making it an ideal choice for tattoo art
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting checklist

  • Works locally, fails in production: compare executable path, image release, architecture, libc, user, and installed libraries inside the production runtime—not just Rails or gem versions.
  • The gem is installed but the command still fails: confirm which executable Wicked PDF selects and whether its native dependencies exist in the final image.
  • Installing a library appears to change nothing: check that it was installed in the runtime stage and that it provides the exact required ABI/SONAME.
  • The command starts but Rails still fails: inspect the app’s exe_path, service PATH, and process environment; then distinguish a loader error from a Rails invocation or document-rendering error.
  • The PDF opens but assets are missing: troubleshoot asset URLs and rendering configuration separately; local-file access settings do not repair a missing shared library.
  • A symlink seems to suppress the error: do not treat that as proof of compatibility. Use a documented ABI-compatible library or a matching executable/runtime pair.

Or skip the browser setup

If the task is to capture a web page as an image or PDF rather than render Rails templates, ScreenshotNeo is a separate website screenshot API and MCP server from Yorker Media. It does not fix a wkhtmltopdf dependency; it can instead return a page capture through one GET request, without you setting up a browser executable in your app.

With an API key, this cURL example saves a WebP screenshot of Stripe. See the ScreenshotNeo API documentation for request options and response details.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents and MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.

Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Does Wicked PDF include wkhtmltopdf?

Wicked PDF’s README describes wkhtmltopdf as an external executable and documents ways to install or select one; verify the binary available to your deployed app.

Will enabling local file access fix a missing shared library?

No. Local file access concerns document resources; a missing shared library prevents the executable from starting.

Is installing OpenSSL 3 enough when the error asks for libssl.so.1.1?

Not necessarily. The executable requests a particular library ABI; match the runtime library requirement rather than assuming another OpenSSL version is interchangeable.

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.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.