Azure Linux App Service のデプロイメントトラブルシューティング
Azure Linux App Service に IronPDF をデプロイする際、システムライブラリが欠落しているため、アプリケーションがPDFをレンダリングできない場合があります。 これは、Windows よりも少ない事前インストール済みのパッケージが Linux 環境には含まれていないためであり、IronPDF レンダリングエンジンの動作には追加の共有ライブラリが必要です。
Multiple issues occurred while trying to deploy Chrome (libatk-1.0.so.0: cannot open shared object file: No such file or directory) (IronInterop.so: cannot open shared object file: No such file or directory) (Read-only file system: '/home/site/wwwroot/runtimes')
このエラーは、Linux 環境に IronInterop.so に必要な一つ以上の共有ライブラリが欠如していることを意味します。 アプリサービスのSSHコンソールから ldd IronInterop.so を実行すると、どのライブラリが欠けているかを正確に特定できます。 ランタイムフォルダーに対しての読み取り専用ファイルシステムメッセージは、同じ依存関係の欠如状態の別の症状です。
解決策
ステップ1: 欠如している依存関係を特定する
- Visual Studio から通常の手順でアプリサービスをデプロイします。
- Azure Linux App Service の SSH コンソールを開きます。
- wwwroot ディレクトリに移動します:
cd /home/site/wwwroot
- 未解決の依存関係をリストするためにネイティブバイナリに対して
lddを実行します:
ldd IronInterop.so
- OS バージョンを確認して、どのパッケージ名が適用されるかを確認します:
cat /etc/os-release
ステップ2: 欠如しているライブラリをインストールする
ほとんどの Linux ディストリビューション(Debian/Ubuntu ベースのイメージ)については、以下の方法で必要なパッケージをインストールします:
apt-get update && apt-get install -y libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libxkbcommon0 libasound2 libatspi2.0-0
Ubuntu 24.04 イメージ(.NET 10 で使用される)については、いくつかのパッケージ名が変更されているため、代わりに以下の Dockerfile 命令を使用します:
RUN apt update \
&& apt install -y sudo libxkbcommon-x11-0 libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2t64 libxrender1 libfontconfig1 libxshmfence1 libgdiplus libva-dev
ステップ3: すべての依存関係が解決されていることを確認する
未解決のエントリがないことを確認するために ldd を再度実行します:
ldd IronInterop.so
すべてのエントリは not found ではなく、解決されたパスを示すべきです。 すべての依存関係が整うと、Webアプリケーションを通じたPDFレンダリングは正常に動作します。 Linux ディストリビューション間で必要なパッケージの完全なリストについては、Linux デプロイメントガイドをご覧ください。

