メンテナンス・トラブルシュート - PHP - PHP 8.4 make エラー


 クラウディア


1. 概要
2. 現象
3. 対処
4. 参考サイト

1. 概要

 発生は、2026年10月28日、「FreeBSD 14.5-RELEASE」でのことです。

2. 現象

 「PHP 8.4」をインストールしようとして。

make NO_DIALOG=yes
 すると。

・・・	略	・・・

cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make: stopped making "all" in /usr/ports/lang/php84/work/php-8.4.27
*** Error code 1

Stop.
make[1]: stopped making "/usr/ports/lang/php84/work/.stage_done.php84._usr_local" in /usr/ports/lang/php84
*** Error code 1

Stop.
make: stopped making "all" in /usr/ports/lang/php84

3. 対処

 「Gemini」伍長に相談してみました。  回答は。
原因
 エラーの原因は、PHPのビルド時に DTrace(DTRACEオプション) が有効になっていることです。
 DTraceが生成するオブジェクトファイル(Zend/zend_dtrace.d.o)が実行可能スタック(executable stack)を要求するため、最近のFreeBSDにおける厳格化されたLLDリンカー(ld.lld)のセキュリティチェックに引っかかり、ビルドが停止してしまっています。

対処方法
 以下のいずれかの方法で解決できます。通常、DTraceを特に使用していない場合は 方法1(DTraceを無効化する) が最も手軽で確実です。
 これって、「PHPの脆弱性」の影響なのかしら?  とりあえず。

cd /usr/ports/lang/php84

make config
 「DTRACE」のチェックをはずします。


make clean

make NO_DIALOG=yes

make reinstall clean
 これで、インストールできました。

4. 

 本ページは、「Gemini」伍長を参考にさせていただきました。

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