pkg・ports アップデート関連 - expat-2.6.3 → 2.6.4

 クラウディア
1. 概要
2. 状況
3. 対処

1. 概要

 記事を書いておるのが、2024年12月6日です。  発生は、数日前からです。

2. 状況

 下記のような状態です。

$ pkg version -vl "<"
cmake-core-3.31.0_1         <  needs updating (port has 3.31.1)
expat-2.6.3                 <  needs updating (port has 2.6.4)
poppler-glib-24.02.0_1      <  needs updating (port has 24.02.0_2)
py311-pytensor-2.26.3       <  needs updating (port has 2.26.4)
rubygem-webpacker-rails61-5.4.4_1  <  needs updating (port has 5.4.4_2)
 「expat」以外にもありますが、これらは「expat」に依存するため、「expat」をアップグレードしない限りは、アップグレードできそうにないのです。  「portupgrade」すると。

--->  Upgrading 'expat-2.6.3' to 'expat-2.6.4' (textproc/expat2)
--->  Building '/usr/ports/textproc/expat2'
===>  Cleaning for expat-2.6.4
===>  License MIT accepted by the user
===>   expat-2.6.4 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by expat-2.6.4 for building
===>  Extracting for expat-2.6.4
=> SHA256 Checksum OK for expat-2.6.4.tar.xz.
===>  Patching for expat-2.6.4
===>  Configuring for expat-2.6.4
configure: loading site script /usr/ports/Templates/config.site
checking build system type... amd64-portbld-freebsd14.1
checking host system type... amd64-portbld-freebsd14.1

・・・	略	・・・

config.status: executing depfiles commands
config.status: error: in `/usr/ports/textproc/expat2/work/expat-2.6.4':
config.status: error: Something went wrong bootstrapping makefile fragments
    for automatic dependency tracking.  If GNU make was not used, consider
    re-running the configure script with MAKE="gmake" (or whatever is
    necessary).  You can also try re-running configure with the
    '--disable-dependency-tracking' option to at least be able to build
    the package (albeit without support for automatic dependency tracking).
See `config.log' for more details
===>  Script "configure" failed unexpectedly.
Please report the problem to desktop@FreeBSD.org [maintainer] and attach the
"/usr/ports/textproc/expat2/work/expat-2.6.4/config.log" including the output
of the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/textproc/expat2
*** Error code 1

Stop.
make: stopped in /usr/ports/textproc/expat2
egrep: empty (sub)expression
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20241206-99862-4lnrf7 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=expat-2.6.3 UPGRADE_PORT_VER=2.6.3 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! textproc/expat2 (expat-2.6.3) (unknown build error)
 てなことになります。

3. 対処


cmake-core-3.31.0_1         <  needs updating (port has 3.31.1)
expat-2.6.3                 <  needs updating (port has 2.6.4)
 の人たちは、相互依存関係にあるようで・・・。  わたしは、「portupgrade」を。

portupgrade -rR
 のオプションで実行するのですが。  これだと「cmake-core」「expat」が、相手のせいでアップグレードできないようです。  で、どうも、「cmake-core」を先にアップグレードした方が、よさそうなので。

cd /usr/ports/devel/cmake-core
make clean
make
 すると、これがエラーになる。

/usr/ports/devel/cmake-core/work/.build/Bootstrap.cmk/cmake_bootstrap.log
 というものに・・・。

/nonexistent
 というファイルを作成しようとして、存在するために作成できないとのこと・・・。  これで、はたと思い出しました。  「Redmine」で、「/nonexistent」というフォルダ配下をワークで使わせるために、作成してパーミッションをいじっておりました・・・。  ちゅうことで、「/nonexistent」を一時的に、「mv」して。

cd /usr/ports/devel/cmake-core
make
make reinstall
 で、「cmake-core」のアップグレードに成功。  その後は、他のものもアップグレードできました。
ハイスピードプラン