アプリを実行すると(またはコマンドラインから実行すると)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
ライブラリの依存関係も確認しました
# 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サーバーで実行されています
Unixパッケージx11-libs/libXextおよびx11-libs/libXrenderは依存関係です
Gentoo:
Sudo emerge libXext libXrender
PDFkit wikiでは、エンジンヤードでwkhtmltopdfを機能させる方法についても詳しく説明しています。 PDFkit wiki
DebianまたはUbuntu:
Sudo apt-get install libxrender1
お役に立てれば
Debian Squeeze、AMD64でも同じ問題がありました。 libxrender1をインストールすると、問題が解決しました。
Sudo apt-get install libxrender1
私も後にする必要があります:
Sudo apt-get install libfontconfig1
今日、wkhtmltopdfの 静的バージョン を実行しているRHEL7マシンでこれを試してみてください。解決策は、いくつかの依存関係をインストールすることでした:
yum install libXrender libXext fontconfig
システムが64ビットで、ソフトウェアに32ビットライブラリが必要な場合、フラグ「i386」を追加する必要があります。
たとえば、ubuntuの場合:
Sudo apt-get install libxrender1:i386
私はまったく同じ問題を抱えていました!私にとっての解決策は、wkhtmltoimageの64ビットバージョンをインストールすることでした。
Ubuntu 16(新規Dockerインストールから):
apt install -y libxrender1 libxext6
Sudo apt-get install xvfb
依存関係パッケージをインストールします。
Node-modules wkhtmltopdf index.jsを更新します
wkhtmltopdf.command = 'wkhtmltopdf'; to 'wkhtmltopdf.command =' xvfb-run wkhtmltopdf ';'
UPX圧縮形式で配布されるwkhtmltopdfの実行可能バージョンがあり、lddとfileは、ペイロードに共有ライブラリが必要であっても、このファイルが静的にリンクされていることを報告します。
試してみる
文字列| fgrep UPX
「UPX」ID文字列が表示される場合は、upxをインストールし、ファイルのコピーで「upx -d」を使用して(upxが適切に機能するため)、非圧縮ファイルに対してlddを実行します。