FreeBSD: Application built with libpng-1.6.16 but running with 1.5.20

Webalizer による Apacheログファイルを解析していますが、先日 FreeBSD ports をメンテナンスした後から、次のメッセージが表示され、レポート中にグラフが表示されないという問題が発生し始めました。

libpng warning: Application built with libpng-1.6.16 but running with 1.5.20
GD Warning: gd-png error: cannot allocate libpng main struct

libpng と libgd のバージョン依存関係に問題があるようです。

pkg info コマンドを使って、ports パッケージの依存関係を調べてみました。

>    pkg info -d webalizer
webalizer-2.23.8_3:
    libgd-2.1.0_5,1

まず、webalizer が libgd を必要としていて、liggd が libpng (png-1.6.16) を使うという依存関係にあるようです。

>    pkg info -d libgd
libgd-2.1.0_5,1:
    fontconfig-2.11.1,1
    freetype2-2.5.4_1
    tiff-4.0.3_5
    png-1.6.16
    jpeg-8_6

正直なところ、表示されているpng パッケージのバージョンは 1.6.16 なのでバージョンは問題ないと思いますが、動かないのは事実なので png をアンインストールしてインストールし直せばいいんじゃない?と考えました。

# pkg delete png
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 6 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
	png-1.6.16
	xv-3.10a_16
	netpbm-10.35.94_1
	libgd-2.1.0_5,1
	ja-xv-3.10a_16
	webalizer-2.23.8_3

The operation will free 12 MB.

Proceed with deinstalling packages? [y/N]: 

依存関係にあるものが全部消えることになりますが、昔インストールした xv は今は必要無くなっているし、webalizer だけ復活すればいいので好都合かも。Yを選択して関連パッケージを全部削除し、webalizer を再インストールすることにしました。

# pkg install webalizer
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
The following 3 packages will be affected (of 0 checked):

New packages to be INSTALLED:
	webalizer: 2.23.8_3
	libgd: 2.1.0_5,1
	png: 1.6.16

The process will require 2 MB more space.
590 kB to be downloaded.

Proceed with this action? [y/N]: y
Fetching webalizer-2.23.8_3.txz: 100%  126 kB 129.5k/s    00:01    
Fetching libgd-2.1.0_5,1.txz: 100%  198 kB 203.2k/s    00:01    
Fetching png-1.6.16.txz: 100%  265 kB 272.3k/s    00:01    
Checking integrity... done (0 conflicting)
[1/3] Installing png-1.6.16...
[1/3] Extracting png-1.6.16: 100%
[2/3] Installing libgd-2.1.0_5,1...
[2/3] Extracting libgd-2.1.0_5,1: 100%
[3/3] Installing webalizer-2.23.8_3...
[3/3] Extracting webalizer-2.23.8_3: 100%

削除したパッケージと比べて再インストールしたものは3個でしたが、webalizer コマンド発行時のメッセージは出なくなり、問題解決。

あとで気づいたのですが、UPDATING テキストをチェックしてみたところ、次の文がみつかりました。

20141225:
  AFFECTS: users of graphics/png
  AUTHOR: antoine@FreeBSD.org

  The PNG library has been updated to version 1.6.16.  Please rebuild all
  ports that depend on it.

  If you use portmaster:
        portmaster -r png
  If you use portupgrade:
        portupgrade -fr graphics/png

png パッケージが更新されたのでリビルドせよとのこと。これが原因でした。

コメントを残す