はい
(macOS 11.7以降。macOS 12.6.1にも表示されます。これが私がテストできる唯一のシステムです。)
$ pushd "$(mktemp -d /tmp/makewhatis-XXXXXXX)"
$ mkdir man
$ ln -s man sman
$ mkdir man/man1
$ cp /usr/share/man/man1/true.1 man/man1/
$ /usr/libexec/makewhatis -v -o /dev/null man
man directory man
man/man1
reading man/man1/true.1
$ /usr/libexec/makewhatis -v -o /dev/null sman
man directory foo
makewhatis: foo: Not a directory
コンテキスト
man -k
ディレクトリが見つからないというstderrのいくつかの出力が原因で検索が失敗したときにこれが見つかりました。特に、私はMac用TeX Liveディストリビューション(?)がマニュアルページ用にインストールするシンボリックリンクmakewhatis
にはあまり満足していません。/Library/TeX/texbin/man
私は最近man
シンボリックリンクを通過するのがうまくいくのを見始めました。つまり、man -w latex
印刷/Library/TeX/texbin/man/man1/latex.1
がman -k latex 2>&1 | cat
(私のシステムでは)印刷します。
pod2latex(1) - convert pod documentation to latex format
makewhatis: /Library/TeX/texbin/man: Not a directory
coq-tex(1) - Process Coq phrases embedded in LaTeX files
Pod::LaTeX(3pm) - Convert Pod data to formatted Latex
pod2latex(1) - convert pod documentation to latex format
これがAppleに固有のものかどうかはわかりません(もしそうなら、AskDifferntに行きましょう)。
なぜこれが起こるのか知りたいです。しかし、もっと重要なのは、インストーラによって生成されたシンボリックリンクに触れることなく問題を解決する方法です。
答え1
Paltreyはこの質問に答えましたが、次のコマンドを実行して短期間(Venturaで)問題を解決しました。
sudo /usr/libexec/makewhatis /usr/local/texlive/2022/texmf-dist/doc/man
また、そのパスを/etc/manpaths.d/Texに追加して、インストーラがここに配置した名目上の汎用パスをコメントアウトしました。データベースを再構築するために何をすべきかわかりません。おそらくアップグレード中にこのようなことが起こりますか?
このパスに従うと、TeXを更新するときにTeXの更新が約束されます。