2023年10月15日 upgradepkg glibc-2.25 to build dhcpcd-10.0.3 on Slackware-14.2 [長年日記]
_ Slackware-14.2環境で、dhcpcd-10.0.2からdhcpcd-10.0.3にバージョンアップを試みたところ、explicit_bzeroのリンクに失敗した。 explicit_bzeroはglibc-2.25から導入された関数で、Slacklware-14.2はglibc-2.23止まりのためこのような結果となった。 explicit_bzeroを単純にbzeroに置き換えてもビルドは通るが、プロセス内のメモリに秘匿性の高い情報が残り、覗き見される可能性があるらしい。
そこで、glibc-2.25にアップグレードを行った。公式には既に更新は止まっているので、自己責任で行うこととなる。
手順は
- https://mirrors.slackware.com/slackware/slackware-14.2/patches/source/glibc/よりSlackBuild環境をダウンロード
- SlackBuild環境内のソースをglibc-2.25.tar.xzに置き換える
- glibc.SlackBuild内の2行をコメントアウトする(エラーとなるパッチを除外する)
### zcat $CWD/glibc-c-utf8-locale.patch.gz | patch -p1 --verbose || exit 1 ### zcat $CWD/glibc.6a824767.dont.assert.on.older.intel.cpus.diff.gz | patch -p1 --verbose || exit 1
- sh glibc.SlackBuild
- ビルドされたパッケージで更新を行う
# init s # upgradepkg /glibc-tmp-... snip .../glibc-2.25-i586-4_slack14.2.txz # upgradepkg /glibc-tmp-... snip .../glibc-i18n-2.25-i586-4_slack14.2.txz # upgradepkg /glibc-tmp-... snip .../glibc-profile-2.25-i586-4_slack14.2.txz # upgradepkg /glibc-tmp-... snip .../glibc-solibs-2.25-i586-4_slack14.2.txz # ldconfig # reboot
最後に、/etc/slackpkg/blacklistにglibcを追加しておく
glibc
この後、dhcpcd-10.0.3の方もhttps://mirrors.slackware.com/slackware/slackware-current/source/n/dhcpcd/よりSlackBuild環境&ソースを取得し、アップデート完了。