環境:Windows 10
インストール時のエラーメッセージ:
---------------------------
Error in startup script
---------------------------
error writing "file5aca170": broken pipe
while executing
"chan puts $::inst "startinst""
(procedure "run_installer" line 5)
invoked from within
"run_installer"
(procedure "main_prog" line 144)
invoked from within
"main_prog"
(file "D:\DTLFolder\install-tl-20230201\tlpkg\installer\install-tl-gui.tcl" line 2117)
---------------------------
OK
---------------------------
更にインストール先を変更しようと、以下のエラーになります:
error writing "file5113570": broken pipe
error writing "file5113570": broken pipe
while executing
"chan puts $::inst "checkdir""
(procedure "update_full_path" line 6)
invoked from within
"update_full_path"
(procedure "texdir_setup" line 88)
invoked from within
"texdir_setup"
invoked from within
".tdirb invoke "
invoked from within
".tdirb instate !disabled { .tdirb invoke } "
invoked from within
".tdirb instate pressed { .tdirb state !pressed; .tdirb instate !disabled { .tdirb invoke } } "
(command bound to event)
管理者権限の実行やインストール先の権限変更などを試したけど、ダメでした。
このようなエラーの解決策をご存知の方はいないでしょうか?
追記:--no-gui によるインストールはできました。おそらくGUIインストーラ関連の問題だと思います。
Matsu NekoYama への返信
Re: Textlive のインストールに失敗した
和田 勇 への返信
Re: Textlive のインストールに失敗した
Windows 10 のセキュリティとウィルスチェックを全部外したけど、同じエラーです。
install-tl.log の中身:
TeX Live installer invocation: C:/texlive/2022_install/install-tl-20230201/install-tl -from_ext_gui
Trying to verify cryptographic signatures!
Loading https://ftp.kddilabs.jp/CTAN/systems/texlive/tlnet/tlpkg/texlive.tlpdb
Installing TeX Live 2022 from: https://ftp.kddilabs.jp/CTAN/systems/texlive/tlnet (not verified)
Platform: win32 => 'Windows'
Distribution: net (downloading)
Using URL: https://ftp.kddilabs.jp/CTAN/systems/texlive/tlnet
Directory for temporary files: C:\Users\NekoYama\AppData\Local\Temp\Bes2q_4_l6
Installer revision: 63919
Database revision: 65711
インストール先選択時のエラーlog の中身:
error writing "file5122960": broken pipe
error writing "file5122960": broken pipe
while executing
"chan puts $::inst "checkdir""
(procedure "update_full_path" line 6)
invoked from within
"update_full_path"
(procedure "texdir_setup" line 88)
invoked from within
"texdir_setup"
invoked from within
".tdirb invoke "
invoked from within
".tdirb instate !disabled { .tdirb invoke } "
invoked from within
".tdirb instate pressed { .tdirb state !pressed; .tdirb instate !disabled { .tdirb invoke } } "
(command bound to event)
install-tl.log の中身:
TeX Live installer invocation: C:/texlive/2022_install/install-tl-20230201/install-tl -from_ext_gui
Trying to verify cryptographic signatures!
Loading https://ftp.kddilabs.jp/CTAN/systems/texlive/tlnet/tlpkg/texlive.tlpdb
Installing TeX Live 2022 from: https://ftp.kddilabs.jp/CTAN/systems/texlive/tlnet (not verified)
Platform: win32 => 'Windows'
Distribution: net (downloading)
Using URL: https://ftp.kddilabs.jp/CTAN/systems/texlive/tlnet
Directory for temporary files: C:\Users\NekoYama\AppData\Local\Temp\Bes2q_4_l6
Installer revision: 63919
Database revision: 65711
インストール先選択時のエラーlog の中身:
error writing "file5122960": broken pipe
error writing "file5122960": broken pipe
while executing
"chan puts $::inst "checkdir""
(procedure "update_full_path" line 6)
invoked from within
"update_full_path"
(procedure "texdir_setup" line 88)
invoked from within
"texdir_setup"
invoked from within
".tdirb invoke "
invoked from within
".tdirb instate !disabled { .tdirb invoke } "
invoked from within
".tdirb instate pressed { .tdirb state !pressed; .tdirb instate !disabled { .tdirb invoke } } "
(command bound to event)
Matsu NekoYama への返信
Re: Textlive のインストールに失敗した
報告された情報からはログなどの「書き込みができない」ことによるものと思っているのですが。
ところで TeXLive は環境変数 TEMP ないし TMP か作業ファイル等を以下のような
パス上に書こうとします。
> Directory for temporary files: C:\Users\NekoYama\AppData\Local\Temp\Bes2q_4_l6
「NekoYama」というのは実際のユーザ名ですか?
もしユーザ名が非ASCII 文字(わかりやすく言えば「和田」などの日本語)だと
インストールに失敗することが知られています。
ただ、その場合は文字化けした情報が表示されるのですが、
その情報が無いので、この推測が妥当か否か今の所判断しかねています。
情報が少ない回答ですが、ユーザ名に含まれているか否か教えてください。
環境変数としては TMP TEMP USERPROFILE などを表示すると明らかになります。
ところで TeXLive は環境変数 TEMP ないし TMP か作業ファイル等を以下のような
パス上に書こうとします。
> Directory for temporary files: C:\Users\NekoYama\AppData\Local\Temp\Bes2q_4_l6
「NekoYama」というのは実際のユーザ名ですか?
もしユーザ名が非ASCII 文字(わかりやすく言えば「和田」などの日本語)だと
インストールに失敗することが知られています。
ただ、その場合は文字化けした情報が表示されるのですが、
その情報が無いので、この推測が妥当か否か今の所判断しかねています。
情報が少ない回答ですが、ユーザ名に含まれているか否か教えてください。
環境変数としては TMP TEMP USERPROFILE などを表示すると明らかになります。
Matsu NekoYama への返信
Re: Textlive のインストールに失敗した
今回も、原因は未だ特定できていませんが ....
状況報告ありがとうございました。
さて ... ということは Path かな?
今回のエラーメッセージは
tcltk というプログラムを実行した際に
書き込みができないために発生していると
想定しています。
このtcltk のパッケージは通常はシステムにはインストールされていないので
インストーラの中に同梱されているものを利用するよう
インストーラは設計されています。
同梱されている tcltk パッケージのバイナリプログラムは以下の通り。
./tlpkg/tltcl/bin/tclsh.exe
./tlpkg/tltcl/bin/tclsh86.exe
./tlpkg/tltcl/bin/wish.exe
./tlpkg/tltcl/bin/wish86.exe
逆に言えば独自に tcltk パッケージを導入されていると
何らかの原因でエラーを発生する可能性があります。
tcktkは最近はほとんど更新されていないので、
独自にインストールされていても問題はないとは思いますが ...
なのでコマンドプロンプトで 以下の結果を教えてください。
which -a tclsh tclsh86 wish wish86
関連する情報として把握したいので環境変数 Path も教えてください。
これに似た問題としょて perl 関連もありますが、
no-gui でインストールできていることから
こちらは問題はないと思います。
状況報告ありがとうございました。
さて ... ということは Path かな?
今回のエラーメッセージは
tcltk というプログラムを実行した際に
書き込みができないために発生していると
想定しています。
このtcltk のパッケージは通常はシステムにはインストールされていないので
インストーラの中に同梱されているものを利用するよう
インストーラは設計されています。
同梱されている tcltk パッケージのバイナリプログラムは以下の通り。
./tlpkg/tltcl/bin/tclsh.exe
./tlpkg/tltcl/bin/tclsh86.exe
./tlpkg/tltcl/bin/wish.exe
./tlpkg/tltcl/bin/wish86.exe
逆に言えば独自に tcltk パッケージを導入されていると
何らかの原因でエラーを発生する可能性があります。
tcktkは最近はほとんど更新されていないので、
独自にインストールされていても問題はないとは思いますが ...
なのでコマンドプロンプトで 以下の結果を教えてください。
which -a tclsh tclsh86 wish wish86
関連する情報として把握したいので環境変数 Path も教えてください。
これに似た問題としょて perl 関連もありますが、
no-gui でインストールできていることから
こちらは問題はないと思います。
和田 勇 への返信
Re: Textlive のインストールに失敗した
MSYS2のbin を環境変数PATHに指定しましたので、
which コマンドだと、msys2の相対パスになります。
C:\Users\NekoYama>which -a tclsh tclsh86 wish wish86
/mingw64/bin/tclsh
/usr/bin/tclsh
/mingw64/bin/tclsh86
/mingw64/bin/wish
/mingw64/bin/wish86
where コマンドの結果は以下です。
C:\Users\NekoYama\AppData\Local\Temp>where tclsh tclsh86 wish wish86
D:\msys64\mingw64\bin\tclsh.exe
D:\msys64\usr\bin\tclsh.exe
D:\msys64\mingw64\bin\tclsh86.exe
D:\msys64\mingw64\bin\wish.exe
D:\msys64\mingw64\bin\wish86.exe
ですが、環境変数PATHからMSYS2関連のPATHを削除したが、同じエラーになります。
which コマンドだと、msys2の相対パスになります。
C:\Users\NekoYama>which -a tclsh tclsh86 wish wish86
/mingw64/bin/tclsh
/usr/bin/tclsh
/mingw64/bin/tclsh86
/mingw64/bin/wish
/mingw64/bin/wish86
where コマンドの結果は以下です。
C:\Users\NekoYama\AppData\Local\Temp>where tclsh tclsh86 wish wish86
D:\msys64\mingw64\bin\tclsh.exe
D:\msys64\usr\bin\tclsh.exe
D:\msys64\mingw64\bin\tclsh86.exe
D:\msys64\mingw64\bin\wish.exe
D:\msys64\mingw64\bin\wish86.exe
ですが、環境変数PATHからMSYS2関連のPATHを削除したが、同じエラーになります。
Matsu NekoYama への返信
Re: Textlive のインストールに失敗した
mingw とは相性が悪いようですね。
https://emoken.net/blog2/category_6/archive/2020-01-10/
https://tex.stackexchange.com/questions/445086/error-installing-latest-version-of-tex-live-on-windows-10
後者では xz が影響していたとのこと。
Path から除外されても同じ現象が出るというので、徹底的に
以下のデフォルトパスだけにしてみましょう。
C:\Windows\system32;
C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Windows\System32\OpenSSH\;
コマンドプロンプトで以下の設定で Mingw のパスなどを除外してください
set Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;
インストーラがあるディレクトリへ cd で移動し以下を実行してみてください。
./install-tl-windows.bat
https://emoken.net/blog2/category_6/archive/2020-01-10/
https://tex.stackexchange.com/questions/445086/error-installing-latest-version-of-tex-live-on-windows-10
後者では xz が影響していたとのこと。
Path から除外されても同じ現象が出るというので、徹底的に
以下のデフォルトパスだけにしてみましょう。
C:\Windows\system32;
C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Windows\System32\OpenSSH\;
コマンドプロンプトで以下の設定で Mingw のパスなどを除外してください
set Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;
インストーラがあるディレクトリへ cd で移動し以下を実行してみてください。
./install-tl-windows.bat