RHELでwkhtmltopdfを使用すると、libpng15.so.15共有ライブラリが見つかりません。

RHELでwkhtmltopdfを使用すると、libpng15.so.15共有ライブラリが見つかりません。

背景知識を提供するために、wkhtmltopdfを使用してローカルファイルをパイプライン/公開の証拠として使用する.htmlファイルに変換します。.pdf

ただし、生成されたこのHTMLにはいくつかのリモートスクリプトとソースがあります。したがって、wkhtmltopdfはそれをAzureパイプラインに追加しようとします。私たちのパイプラインはRHELを実行します。

バージョン0.12.4で発生するバグはSSLのバグの一種であり、バージョン0.12.5で修正されました。だから私はバージョン0.12.6をインストールしようとしましたが、うまくいきましたが、実行すると次のエラーが発生しました。

tools/wkhtmltopdf: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or directory

CentOS / RHEL(YUMおよびRPMパッケージマネージャ)の場合は、libpng-develをインストールする必要があることがわかりました。だから私はこれを試しました:

yum --showduplicates list libpng-devel
yum -y install libpng-devel

RHELシステムにバージョンがインストールされていますが、libpng-devel-2:1.6.34-5.el8.x86_64PDFを解析しようとすると同じエラーが発生します。

私はLinuxの経験がなく、この問題を解決する方法がわかりません。また、別のバージョンがあるかどうかを検索してみました。しかし、Windows開発システムがあるので、何でも試すにはパイプラインを通過する必要があります(毎回約10分かかります)。

私もSEを見て、これが近いことがわかりました。"共有ライブラリの読み込みエラー:libpng15.so.15:共有オブジェクトファイルを開けませんでした。そのファイルまたはディレクトリが見つかりません。"?しかし、答えで判断すると、次に何をすべきかはよくわかりません。

TLDR:もしそうなら、このエラーをどのように修正しますか?図書館が必要ですが、私が考えている図書館は正しいのではないでしょうか?

編集:私たちはAzureでRHELを実行しており、他の誰かがwkhtmltopdfバージョン0.12.6を使用して成果物を作成しました。

編集2:出力yum repolist

倉庫ID 倉庫名
ubi-8-アプリストリーム ubi-8-アプリストリーム
ubi-8-バスソース ubi-8-バスソース
ubi-8-コードレディビルダー Red Hat Universal Base Image 8(RPM) - CodeReady Builder
ubi-8-バスソース 41kB/秒 - 3.8kB 00:00
ubi-8-バスソース 3.9MB/秒 - 798kB 00:00
ubi-8-アプリストリーム 51kB/秒 - 4.2kB 00:00
ubi-8-アプリストリーム 8.0MB/秒 - 2.6MB 00:00
Red Hat Universal Base Image 8(RPM) - CodeRea 37kB/秒 - 3.8kB 00:00

パラメータの不一致の出力yum install wkhtmltopdf -y :wkhtmltopdfエラー:一致するものが見つかりません:wkhtmltopdf

解決策:

アップロードした0.12.6パッケージが壊れて新しいrpmパッケージをアップロードしたらすぐに動作しました。

ベストアンサー1

インストールしたバージョンで見ると、libpng-develRHEL 8を使っているようです。

ところで、インストールしたランタイムライブラリのバージョンが古すぎます。開発パッケージは必要なく、ランタイムライブラリを提供する汎用パッケージのみが必要です。

appstreamリポジトリを有効にしたと仮定すると、次のものが必要です。libpng15.i686

yum install libpng15.i686 -y

その後、/usr/lib/libpng15.so.15マシンで見ることができます。

今後、ライブラリ/ヘッダ/バイナリなどを提供するパッケージを見たい場合

yum provides */file_name

おすすめ記事