pkg・ports アップデート関連 - その他一般 - gcc14-14.2.0_4 → 14.2.0_6


 クラウディア


1. 概要
2. 状況
3. 調査
4. gcc12 削除

1. 概要

 2026年6月22日の「FreeBSD 15.0 RELEASE-p2」でのことなのであります。

2. 状況

 下記の状況にありまして。

portversion -v | grep '<'

gcc12-12.4.0_3              <  needs updating (port has 12.4.0_5)
gcc13-13.3.0_3              <  needs updating (port has 13.3.0_5)
gcc14-14.2.0_4              <  needs updating (port has 14.2.0_6)
 「gcc14」をアップグレードするのでありますが・・・。  もし、「gcc12」「gcc13」が不要なのでしたら、この際、「gcc12」「gcc13」をアンインストールしてしまいたいな・・・と。

3. 調査

 それぞれに、依存しているものを確認します。

pkg info -r gcc12

gcc12-12.4.0_3:
        hdf5-1.12.2_2,1 (libgfortran.so.5)
        openblas-0.3.33,2 (libgfortran.so.5)
        hdf5-1.12.2_2,1 (libquadmath.so.0)

pkg info -r gcc13

gcc13-13.3.0_3:
        hdf5-1.12.2_2,1
        hdf5-1.12.2_2,1 (libgfortran.so.5)
        openblas-0.3.33,2 (libgfortran.so.5)
        hdf5-1.12.2_2,1 (libquadmath.so.0)

pkg info -r gcc14

gcc14-14.2.0_4:
        openblas-0.3.33,2
        hdf5-1.12.2_2,1 (libgfortran.so.5)
        openblas-0.3.33,2 (libgfortran.so.5)
        hdf5-1.12.2_2,1 (libquadmath.so.0)
 どれも似たようなものに依存しております。  「libgfortran.so.5」「libquadmath.so.0」をそれぞれ確認すると。

locate libgfortran.so.5

/usr/local/lib/gcc12/libgfortran.so.5
/usr/local/lib/gcc12/libgfortran.so.5.0.0
/usr/local/lib/gcc13/libgfortran.so.5
/usr/local/lib/gcc13/libgfortran.so.5.0.0
/usr/local/lib/gcc14/libgfortran.so.5
/usr/local/lib/gcc14/libgfortran.so.5.0.0
/usr/local/lib32/gcc13/libgfortran.so.5
/usr/local/lib32/gcc13/libgfortran.so.5.0.0
/usr/local/lib32/gcc14/libgfortran.so.5
/usr/local/lib32/gcc14/libgfortran.so.5.0.0

locate libquadmath.so.0

/usr/local/lib/gcc12/libquadmath.so.0
/usr/local/lib/gcc12/libquadmath.so.0.0.0
/usr/local/lib/gcc13/libquadmath.so.0
/usr/local/lib/gcc13/libquadmath.so.0.0.0
/usr/local/lib/gcc14/libquadmath.so.0
/usr/local/lib/gcc14/libquadmath.so.0.0.0
/usr/local/lib32/gcc13/libquadmath.so.0
/usr/local/lib32/gcc13/libquadmath.so.0.0.0
/usr/local/lib32/gcc14/libquadmath.so.0
/usr/local/lib32/gcc14/libquadmath.so.0.0.0
 それぞれのバージョンのものが存在します。  実際に、依存しているものが何かを調べます。

pkg info -l hdf5 | grep '\.so' | xargs ldd 2>/dev/null | grep gcc

        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fb74c9000)
        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fb7b53000)
        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fb8ed5000)
        libgfortran.so.5 => /usr/local/lib/gcc13/libgfortran.so.5 (0x340fb5a00000)
        libquadmath.so.0 => /usr/local/lib/gcc13/libquadmath.so.0 (0x340fb8ef9000)
        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fba5d2000)
        libgfortran.so.5 => /usr/local/lib/gcc13/libgfortran.so.5 (0x340fb7800000)
        libquadmath.so.0 => /usr/local/lib/gcc13/libquadmath.so.0 (0x340fb8857000)
        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fb6736000)
        libgfortran.so.5 => /usr/local/lib/gcc13/libgfortran.so.5 (0x340fb7e00000)
        libquadmath.so.0 => /usr/local/lib/gcc13/libquadmath.so.0 (0x340fb88e1000)
        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fb8cc3000)
        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fb8d73000)
        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fb9021000)
        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fb9637000)
        libgfortran.so.5 => /usr/local/lib/gcc13/libgfortran.so.5 (0x340fb7600000)
        libquadmath.so.0 => /usr/local/lib/gcc13/libquadmath.so.0 (0x340fb9465000)
        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fbab61000)
        libgfortran.so.5 => /usr/local/lib/gcc13/libgfortran.so.5 (0x340fb7800000)
        libquadmath.so.0 => /usr/local/lib/gcc13/libquadmath.so.0 (0x340fb9870000)
        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fba62c000)
        libgfortran.so.5 => /usr/local/lib/gcc13/libgfortran.so.5 (0x340fb6c00000)
        libquadmath.so.0 => /usr/local/lib/gcc13/libquadmath.so.0 (0x340fba802000)
        libgcc_s.so.1 => /usr/local/lib/gcc13/libgcc_s.so.1 (0x340fbc3e5000)

pkg info -l openblas | grep '\.so' | xargs ldd 2>/dev/null | grep gcc

        libgfortran.so.5 => /usr/local/lib/gcc14/libgfortran.so.5 (0x1e922c400000)
        libquadmath.so.0 => /usr/local/lib/gcc14/libquadmath.so.0 (0x1e922dbd2000)
        libgcc_s.so.1 => /usr/local/lib/gcc14/libgcc_s.so.1 (0x1e922deaf000)
        libgfortran.so.5 => /usr/local/lib/gcc14/libgfortran.so.5 (0x1e922b800000)
        libquadmath.so.0 => /usr/local/lib/gcc14/libquadmath.so.0 (0x1e922cee0000)
        libgcc_s.so.1 => /usr/local/lib/gcc14/libgcc_s.so.1 (0x1e922dcc1000)
        libgfortran.so.5 => /usr/local/lib/gcc14/libgfortran.so.5 (0x1e922c600000)
        libquadmath.so.0 => /usr/local/lib/gcc14/libquadmath.so.0 (0x1e922d29a000)
        libgcc_s.so.1 => /usr/local/lib/gcc14/libgcc_s.so.1 (0x1e922ef9c000)

4. gcc12 削除

 前項の結果、「gcc12」に依存するものは、ないようですので、「gcc12」はアンインストールします。

cd /usr/ports/lang/gcc12

make deinstall clean
 その後。

portversion -v | grep '<'

[Reading data from pkg(8) ... - 610 packages found - done]
aom-3.14.0                  <  needs updating (port has 3.14.1)
ffmpeg-8.1.1,1              <  needs updating (port has 8.1.2,1)
gcc13-13.3.0_3              <  needs updating (port has 13.3.0_5)
gcc14-14.2.0_4              <  needs updating (port has 14.2.0_6)
 少なくとも、「gcc12」は、なくなりました。  「gcc13」「gcc14」をアップグレードします。

env BATCH=yes portupgrade -rR gcc13

env BATCH=yes portupgrade -rR gcc14
 これで、いったん、落ち着きました。

audiobook.jp
AbemaTV 無料体験
薬屋の独り言
【usus ウズウズ】
EMEET 1
それがだいじWi-Fi
損保との違い
ハイスピードプラン
Amazonギフトカード
5G CONNECT
サウンドハウス
earthcar(アースカー)
EaseUS
アフィリエイトのアクセストレード
U-NEXT
ネットオークションの相場、統計、価格比較といえばオークファン
ベルリッツ
JETBOY
健康サポート特集
葬送のフリーレン Prime Video
TikTok Shop 【リピート用プログラム】