62

アプリを実行すると (またはコマンドラインから実行すると) wkhtmltopdf コマンドを実行すると、次のエラーが表示されます: (コマンドラインから表示)

#> wkhtmltopdf 
wkhtmltopdf: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory

libは実際には/usr/libフォルダーにありますが、フォルダーにはありません/lib。これらのどれにあるかは重要ですか?それを認識させる方法はありますか?

#> ls -l /usr/lib/libXrender.so*
lrwxrwxrwx 1 root root    19 Feb 17 07:20 /usr/lib/libXrender.so -> libXrender.so.1.3.0
lrwxrwxrwx 1 root root    19 Feb 17 07:20 /usr/lib/libXrender.so.1 -> libXrender.so.1.3.0
-rwxr-xr-x 1 root root 39184 Jan 29  2010 /usr/lib/libXrender.so.1.3.0

#> ls -l /lib/libXrender.so*
ls: cannot access /lib/libXrender.so*: No such file or directory

libの依存関係も確認しました

# ldd /usr/lib/libXrender.so.1
    libX11.so.6 => /usr/lib/libX11.so.6 (0x00002b9cb5afd000)
    libc.so.6 => /lib/libc.so.6 (0x00002b9cb5e04000)
    libXau.so.6 => /usr/lib/libXau.so.6 (0x00002b9cb6143000)
    libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00002b9cb6347000)
    libdl.so.2 => /lib/libdl.so.2 (0x00002b9cb654d000)
    /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)

これは EngineYard gentoo サーバーで実行されています

4

12 に答える 12

136

Unix パッケージ x11-libs/libXext および x11-libs/libXrender は依存関係です

ジェンツー:

sudo emerge libXext libXrender

PDFkit wiki では、wkhtmltopdf をエンジン ヤードで動作させる方法についても詳しく説明しています。 PDFkitウィキ

Debian または Ubuntu:

sudo apt-get install libxrender1
于 2011-02-18T00:10:04.747 に答える
38

Debian Squeeze、amd64でも同じ問題が発生しました。libxrender1をインストールすると、問題が解決しました。

sudo apt-get install libxrender1
于 2012-06-06T04:12:45.780 に答える
31

私も後にする必要があります:

sudo apt-get install libfontconfig1
于 2014-01-09T09:12:56.273 に答える
13

今日、wkhtmltopdf の静的バージョンを実行している RHEL7 マシンでこれに遭遇しました。解決策は、いくつかの依存関係をインストールすることでした:

yum install libXrender libXext fontconfig 
于 2016-03-22T17:09:28.200 に答える
6

Ubuntu 16 の場合 (Docker の新規インストールから):

apt install -y libxrender1 libxext6
于 2016-08-19T08:06:08.307 に答える
4

私はまったく同じ問題を抱えていました!私にとっての解決策は、64 ビット版の wkhtmltoimage をインストールすることでした。

于 2011-12-30T18:49:05.737 に答える
1

Rails 5.2 アプリケーションを Ubuntu 18.04 本番サーバーで実行する際にも同じ問題が発生しました。問題はlibXrender、サーバーに依存関係がないことでした。

これが私がそれを解決した方法です

以下のコマンドを実行して、不足している依存関係を検索します。

sudo apt-cache search libXrender

これにより、以下の出力が表示されます。

libxrender-dev - X Rendering Extension client library (development files)
libxrender1 - X Rendering Extension client library
libreoffice - office productivity suite (metapackage)

運用サーバーで実行している場合は、インストールするlibxrender1だけです (PDF のレンダリング用):

sudo apt-get install libxrender1

また、可能であれば、サーバー上の古いライブラリのアップグレードを実行します。

sudo apt upgrade

これらがすべて完了したら、アプリケーション サーバーを再起動するだけです (アプリケーション サーバーが再起動さpumaれ、サーバーの systemd がセットアップされている場合)。

sudo systemctl restart puma
于 2020-02-11T11:56:27.213 に答える
0

UPX 圧縮形式で配布されている wkhtmltopdf の実行可能バージョンがあることに注意してください。ldd と file は両方とも、ペイロードが共有ライブラリを必要とする場合でも、このファイルが静的にリンクされていることを報告します。

チェックするには

文字列 | fgrep UPX

「UPX」ID文字列が表示された場合は、upxをインストールし、ファイルのコピーに「upx -d」を使用して(upxが適切に機能するため)、圧縮されていないファイルでlddを実行します。

于 2016-06-03T13:13:35.253 に答える