portsからのbashアップデートエラーの直し方。
内容
portsからbash 5.2_2にアップデートしようとすると、次のエラーが出て更新できない。
===> Cleaning for bash-5.2_2
===> bash-5.2_2 is marked as broken: ld: error: undefined symbol:
rl_trim_arg_from_keyseq.
*** Error code 1
対処法
次のようにしてconfigを削除してから入れ直す。
# cd /usr/ports/shells/bash
# make rmconfig
# portmaster shells/bash
devel/readlineのバージョンが古すぎるため、最新のbashではOSデフォルトのreadlineライブラリを使用するようにしたとのこと。/usr/ports/UPDATINGに記載があった。
0221002:
AFFECTS: users of shells/bash
AUTHOR: ehaupt@FreeBSD.orgBash has been updated to version 5.2. In previous versions, the default port
option-set used to link against libreadline from ports. However, the current
version of devel/readline is too old for bash 5.2.For now, the default option has been switched to use the bundled version of
libreadline and the other option is marked broken. Once devel/readline is
updated this can be reverted.If you’re updating bash from source and you’ve previously explicitly set to
use use PORTS_READLINE, you’ll have to disable the PORTS_READLINE option
before updating:# cd /usr/ports/shells/bash
# make configor flush it entirely:
# cd /usr/ports/shells/bash
/usr/ports/UPDATING
# make rmconfig