- 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」のアップグレードに成功。
その後は、他のものもアップグレードできました。
|
|