オチ
ports の Mk ディレクトリにある mk ファイルをいじればなんとか延命出来るけど、12-RELEASE など最新リリース版にアップデートできる環境ならさっさとアップグレードしたり新しいマシンに置き換えよう!!
はじめに
FreeBSD Advent Calendar 2019 の18日目の記事です。
このお話は古い FreeBSD の環境で「[FreeBSD] FreeBSD ports tree の更新を portsnap から git (github) に変更」に記載している内容で実行・使用しています。
環境と経緯
- 中古で売られていた FMV-D3260 に FreeBSD 10(amd64)をインストールして使用
- 手持ちの NAT 箱に載せている FreeBSD 10 をアップグレードする際に確認でアップグレード
- 「あれ? 起動が途中でコケてんな?」
- それが某所へこういう内容で告知する理由になった
- 「あれ? 起動が途中でコケてんな?」
- 色々動かしている筐体なので数時間止めるにもなぁ・・・
- かといって確認するためにモニタのところへ持って行くのも
正直メンドクサイちと大変だし・・・- カスタムカーネルを作って起動するかいちいち確認する手間
- かといって確認するためにモニタのところへ持って行くのも
- (「キモーイ」1とか「キャハハハハ」1とか言われるほどパソコンが買い換えられない貧乏人なので)それでもなんとか延命させてる ← イマココ
ports の configure でコケる
それでもなんとか延命させていますが ports のアップグレードをする際に configure でエラーが出てビルドがコケるようになりました
configure:3250: checking whether the C compiler works
configure:3272: cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fstack-protector-strong conftest.c >&5
cc: error: unknown argument: '-fstack-protector-strong'
cc: error: unknown argument: '-fstack-protector-strong'
diff
コケる原因を探して最終的にどうにかした diff です
[root@FMV-D3260 Mk]# git diff *
diff --git a/Mk/bsd.ssp.mk b/Mk/bsd.ssp.mk
index 0bc5819bcd..2a39fc59b8 100644
--- a/Mk/bsd.ssp.mk
+++ b/Mk/bsd.ssp.mk
@@ -6,7 +6,7 @@ SSP_Include_MAINTAINER= portmgr@FreeBSD.org
.if !defined(SSP_UNSAFE) && \
(${MACHINE} != "mips")
# Overridable as a user may want to use -fstack-protector-all
-SSP_CFLAGS?= -fstack-protector-strong
+SSP_CFLAGS?= -fstack-protector
CFLAGS+= ${SSP_CFLAGS}
LDFLAGS+= ${SSP_CFLAGS}
.endif
[root@FMV-D3260 Mk]#
はじめは SSP_CFLAGS を外した状態にしていましたが GitHub の履歴ではオプションを切り替えただけになっていたのでこっそり直したのは(ry
(最後に大事なことなので)オチ
ports の Mk ディレクトリにある mk ファイルをいじればなんとか延命出来るけど、12-RELEASE など最新リリース版にアップデートできる環境ならさっさとアップグレードしたり新しいマシンに置き換えよう!! な!!!2
make.conf でコンパイラを置き換えてもなんとか延命できるでしょうけど(ry