トップ 最新 追記

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|

2021-02-07 [長年日記]

_ [FreeBSD]nvidia-driver

ports/x11/nvidia-driverがVersion 460.39に更新に更新された模様

リリースノート見た範囲では、RTX30XX系のサポートが入ったみたい


2021-02-09 [長年日記]

_ [FreeBSD]13-STABLE

テスト始めたけど、bison依存のportsが壊れる

症状的には、一部の文法ファイル処理中にbisonがSEGVするので、構文解析器の生成をbisonに依存しているportsが壊れる

手元で判明している事例

  • devel/doxygen
  • multimedia/gstreamer1
  • editors/libreoffice

あと、これらのportsに依存するportsもportmaster経由だと依存portsの自動更新で引っかかる 特に、default onなDOCSオプションでdoxygenに依存しているportsが多い

手元では、Ryzen 3800XとCore i7 4790Sで確認しれいるので、CPU依存では無さそう

また、12.2-STABLE環境で動いているbison packageを持ってきてもSEGVするので、カーネルかリンクされた共有ライブラリが怪しい

12.2-STABLEとの違いの調査

  • 12.2-STABLEの/usr/local/bin/bisonを13-STABLEで実行 - NG
  • libmap.confで、12.2-STABLEのshared library(5個)を使う13-STABLE上のbison - OK
    • kernelではなく、linkされてるshared libraryの挙動が原因っぽぃ
    • libc.so.7libm.so.5を元にもどす - OK
    • libintl.so.8を元にもどす - OK
    • libtextstyle.so.0を元にもどす - NG

/usr/local/lib/libtextstyle.so.0の挙動の違いと特定

12.2-STABLE環境

% ldd /usr/local/lib/libtextstyle.so.0
/usr/local/lib/libtextstyle.so.0:
        libm.so.5 => /lib/libm.so.5 (0x800725000)
        libncurses.so.8 => /lib/libncurses.so.8 (0x800757000)
        libc.so.7 => /lib/libc.so.7 (0x80024e000)

13-STABLE環境

% ldd /usr/local/lib/libtextstyle.so.0
/usr/local/lib/libtextstyle.so.0:
        libm.so.5 => /lib/libm.so.5 (0x800720000)
        libncursesw.so.9 => /lib/libncursesw.so.9 (0x800753000)
        libc.so.7 => /lib/libc.so.7 (0x800263000)

なんかリンクされてる ncursesが違う?

12.2-STABLE環境

% ls -l /lib/libncurses*
-r--r--r--  1 root  wheel  348400  2月  7 22:25 /lib/libncurses.so.8
-r--r--r--  1 root  wheel  385744  2月  7 22:25 /lib/libncursesw.so.8

13-STABLE環境

% ls -l /lib/libncurses*
-r--r--r--  1 root  wheel  348400  2月  8 22:04 /lib/libncurses.so.8
-r--r--r--  1 root  wheel  385744  2月  8 22:04 /lib/libncursesw.so.8
-r--r--r--  1 root  wheel  459464  2月  8 23:20 /lib/libncursesw.so.9

so.8系は、upgrade前の12.2-STABLE環境からきてるぽぃ

/usr/local/lib/libtextstyle.so.0を含んでる devel/libtextstyleを更新してみるが、状況は変わらない

どうも、13-STABLEからsystemのncursesがwide character対応版のみになってるぽぃが、devel/libtextstyle側が対応できてない?

おそらく、ncursesのAPI非互換性 12.2-STABLEはncurses 5.xベース、13-STABLEはncurses 6.xベースで、ncurses自体に5.x->6.x間でAPI compatibility breakがある模様

手元の環境で、問題が起きるのは libtextstyleに依存している gettext-toolsとbisonのみ

devel/ncurses (ncurses 6.2)が入っているとbaseではなくports優先となるので、試してみた(devel/ncursesを入れてlibmap or libtextstyle rebuild)

devel/ncursesだと /usr/local/lib/libncursesw.soは libncurses.soへの symbolic linkの模様

devel/ncurses + devel/libtextstyle環境だと NGなので、ncursesの API compatibility breakが原因と確定

したがって、正道は

  • libtextstyle(gettext)のupstreamからncurses 6.x対応を持ってくる (fix)
  • libmap.confで/usr/local/bin/bisonのlibtextstyle.so.0を12.2-STABLEのlibtextstyle.so.0へ向ける (workaround)
    • misc/compat12x と12-STABLEな libtextstyle packageが必要

邪道は、

  • libmap.confで/usr/local/lib/libtextstyle.so.0のlibncursesw.so.9をlibncurses.so.8へ強引に向ける

なんか、これでも動くので misc/compat12xをインストールして、 /usr/local/etc/libmap.d/libtextstyle.confに以下の設定追加するのが一番早いぽぃ

[/usr/local/lib/libtextstyle.so.0]
libncursesw.so.9        libncurses.so.8

2021-02-16 [長年日記]

_ [雑記][FreeBSD]stable/13へ移行

手元の主要環境をstable/13へ移行した

古いUEFIブート環境 (800kB EFI system partition)からの移行だと、標準の/boot/loader.efiが大きくなってESPに入らなくなるので要注意

起動画面がグラフィカルで格好良くなったのと、UEFI boot loaderのフォントレンダリングが綺麗になって読みやすい


カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記