tlmgrによるアップデートのエラー

tlmgrによるアップデートのエラー

- 松浦 高志 の投稿
返信数: 12
2020年9月30日頃から

$ sudo tlmgr update --self --all

すると

(文字化けしたメッセージ)
, please fix it! at /usr/local/texlive/2020/tlpkg/TeXLive/TLPOBJ.pm line 212, <TMP> line 143504.

というエラーが出るようになったのですが,対処方法はあるでしょうか.

http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/update-tlmgr-latest.sh

をダウンロードして

$ sudo sh update-tlmgr-latest.sh

としてtlmgr自体を更新しようとしましたが,やはり

(文字化けしたメッセージ)
, please fix it! at /usr/local/texlive/2020/tlpkg/TeXLive/TLPOBJ.pm line 212, <TMP> line 143504.

と表示されて更新できません.

TLPOBJ.pmのタイムスタンプはCTANにあるものと同じです.

$ ls -l /usr/local/texlive/2020/tlpkg/TeXLive/TLPOBJ.pm
-rw-r--r-- 1 root wheel 58761 4 15 12:02 /usr/local/texlive/2020/tlpkg/TeXLive/TLPOBJ.pm

環境はmacOS 10.15.7 Catalina + TeXLive 2020です.
松浦 高志 への返信

Re: tlmgrによるアップデートのエラー

- aminophen の投稿
> TLPOBJ.pm line 212

ここですね:
die("Unknown directive ...$line... , please fix it!");

https://www.tug.org/svn/texlive/trunk/Master/tlpkg/TeXLive/TLPOBJ.pm?revision=54748&view=markup#l212


$ sudo tlmgr update --self --all --debug --debug --debug 1>stdout.log 2>stderr.log

として得られる stdout.log と stderr.log を添付していただけますか?
aminophen への返信

Re: tlmgrによるアップデートのエラー

- 松浦 高志 の投稿
ありがとうございます.ただ

$ sudo tlmgr update --self --all --debug --debug --debug 1>stdout.log 2>stderr.log

だと

Unknown option: debug

になってしまいますね.tlmgr --helpで見ていますが --debugが見つかりません……
松浦 高志 への返信

Re: tlmgrによるアップデートのエラー

- aminophen の投稿
> --debugが見つかりません……

すみません,間違えました。
tlmgr のオプション名は --debug ではなく -vvv でした。

$ sudo tlmgr update --self --all -vvv 1>stdout.log 2>stderr.log

でいかがでしょう。
aminophen への返信

Re: tlmgrによるアップデートのエラー

- 松浦 高志 の投稿
ありがとうございます.stderr.logを添付しました.stdout.logは空でした.libertineでしょうか……
松浦 高志 への返信

Re: tlmgrによるアップデートのエラー

- aminophen の投稿
libertine の部分で何か変なことが起きていますね。
正規の直し方はよくわかりません。

TeX Live のインストール先の texmf-dist ディレクトリと同じ階層に
tlpkg というディレクトリがあって,そこに texlive.tlpdb というファイルが
あると思います。それを添付していただけますか?
aminophen への返信

Re: tlmgrによるアップデートのエラー

- 松浦 高志 の投稿
これですね.よろしくお願いします.
松浦 高志 への返信

Re: tlmgrによるアップデートのエラー

- aminophen の投稿
ありがとうございます。
そのファイルを添付の物に置き換えてみるとどうでしょう?

ちなみに,先ほど添付いただいたそのファイルと同じ場所に
texlive.tlpdb.(長い文字列) というファイルもありますか?
(単に知りたいだけです)
aminophen への返信

Re: tlmgrによるアップデートのエラー

- 松浦 高志 の投稿
ありがとうございます.tlmgr updateが正常に始まりました.texlive.tlpdb.xxxxのうち日付の近いものが3つありました.

16608610 9 28 02:40 texlive.tlpdb.b0a0dbda4c01f685adc8f2c33417f964
16608758 9 27 02:40 texlive.tlpdb.d783daef6817791f887acbeaabb61b18
16608995 9 29 09:49 texlive.tlpdb.eed57316637f7baa6c6fe856233484e9
松浦 高志 への返信

Re: tlmgrによるアップデートのエラー

- aminophen の投稿
> tlmgr updateが正常に始まりました.

良かったです。(正規の直し方がわからなかったので,
手許にある texlive.tlpdb と比較しながら自分で編集して直しました。)

以下は雑談ですが

> texlive.tlpdb.xxxxのうち日付の近いものが3つありました.

もしかすると
「最も日付の近いものをリネームして,壊れてしまった texlive.tlpdb と置き換える」
という方法もアリだったかもしれません。
(試したことがないのでわかりませんが…)
aminophen への返信

Re: tlmgrによるアップデートのエラー

- 松浦 高志 の投稿
ありがとうございました.リネームでうまくかもしれませんね.同じようなことがあったら試してみます.

ちなみに最新のtexlive.tlpdbで置き換えるという方法は使えるでしょうか?

$CTAN/systems/texlive/tlnet/tlpkg/texlive.tlpdb
松浦 高志 への返信

Re: tlmgrによるアップデートのエラー

- aminophen の投稿
> 最新のtexlive.tlpdbで置き換えるという方法

すみません,tlmgr の細かい知識がないので確実な回答はできません。

% 開発目的で tug.org の subversion のリポジトリを丸ごと持っているため,
% 私自身は tlmgr を使っていません…。

ローカルにある texlive.tlpdb は
「手許にインストールされている全てのパッケージのファイルと情報の一覧」
だと思っていましたので,
「実際のファイル群が更新されないまま最新の texlive.tlpdb だけ取ってきた場合」
には齟齬が生じる可能性もあるかなと思いました。

% 例えば scheme-full でなく scheme-small + collection-langjapanese のような
% ミニマムインストールをされている方は,パッケージの数が違ってきますよね。
aminophen への返信

Re: tlmgrによるアップデートのエラー

- 松浦 高志 の投稿
なるほど.わかりました.いずれにせよ今回のようなエラーが出た場合にはtexlive.tlpdbに注意してみます.

今回はどうもありがとうございました.