メンテナンス・トラブルシュート - pkg・ports - help2man - 1.47.6 → 1.47.7

クラウディア 
1. 概要
2. perl をインストールしなおし?

1. 概要

 発生は 2018年9月26日。  数日アップデートしていなかったので、少し前に発生していたのかもしれませんが。

$ pkg version -vl "?"
help2man-1.47.6                    <   needs updating (index has 1.47.7)
 の結果を受けて「portupgrade」すると(そんなに長くないんで全部載っけちゃいますが)

$ portupgrade -Rr help2man
[Reading data from pkg(8) ... - 357 packages found - done]
[Gathering depends for misc/help2man ................ done]
[Exclude up-to-date packages ....... done]
--->  Upgrading 'help2man-1.47.6' to 'help2man-1.47.7' (misc/help2man)
--->  Building '/usr/ports/misc/help2man'
===>  Cleaning for help2man-1.47.7
===>  License GPLv3 accepted by the user
===>   help2man-1.47.7 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by help2man-1.47.7 for building
===>  Extracting for help2man-1.47.7
=> SHA256 Checksum OK for help2man-1.47.7.tar.xz.
===>  Patching for help2man-1.47.7
===>   help2man-1.47.7 depends on package: p5-Locale-gettext>=0 - found
===>   help2man-1.47.7 depends on executable: gmake - found
===>   help2man-1.47.7 depends on executable: msgfmt - found
===>   help2man-1.47.7 depends on package: perl5>=5.26<5.27 - found
===>   help2man-1.47.7 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so)
===>  Configuring for help2man-1.47.7
configure: loading site script /usr/ports/Templates/config.site
checking for perl... perl
checking for module Locale::gettext... no
checking for msgfmt... /usr/local/bin/msgfmt
checking for gcc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for library containing dlsym... none required
checking for library containing bindtextdomain... -lintl
configure: error: perl module Locale::gettext required
===>  Script "configure" failed unexpectedly.
Rebuild lang/perl5.26 and devel/p5-Locale-gettext manually before contacting
maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/misc/help2man
*** Error code 1

Stop.
make: stopped in /usr/ports/misc/help2man
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20180926-84847-1fyurzo env UPGRADE_TOOL=portupgrade UPGRADE_PORT=help2man-1.47.6 UPGRADE_PORT_VER=1.47.6 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! misc/help2man (help2man-1.47.6)       (configure error)

2. perl をインストールしなおし?

 メッセージを素直に読めば「lang/perl5.26」と「devel/p5-Locale-gettext」をリビルドし直しなさいってことでしょうか。  ついでに見てみると「perl5.28」がリリースされてるなぁ。  先に「perl5.28」にしちゃおう。  ってことで、「5.26 → 5.28」の手順は「pkg・ports アップデート関連 - perl5」で。  で、「5.28」だけだと前項の状況は解消されないようです。

cd /usr/ports/devel/p5-Locale-gettext
make deinstall clean
make
make install
 その後に

$ portupgrade -Rr help2man
[Reading data from pkg(8) ... - 357 packages found - done]
[Gathering depends for misc/help2man ................ done]
[Exclude up-to-date packages ....... done]
--->  Upgrading 'help2man-1.47.6' to 'help2man-1.47.7' (misc/help2man)

・・・	略	・・・

Updating database digests format: 100%
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        help2man-1.47.6

Number of packages to be removed: 1
[1/1] Deinstalling help2man-1.47.6...
[1/1] Deleting files for help2man-1.47.6: 100%
[Reading data from pkg(8) ... - 356 packages found - done]
--->  Installing the new version via the port
===>  Installing for help2man-1.47.7
===>   Registering installation for help2man-1.47.7 as automatic
Installing help2man-1.47.7...
===>  Cleaning for help2man-1.47.7
--->  Cleaning out obsolete shared libraries
 結局、言われた通りにやってみるもんですな。