環境: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インストーラ関連の問題だと思います。
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)
報告された情報からはログなどの「書き込みができない」ことによるものと思っているのですが。
ところで 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 などを表示すると明らかになります。
今回も、原因は未だ特定できていませんが ....
状況報告ありがとうございました。
さて ... ということは 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 でインストールできていることから
こちらは問題はないと思います。
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を削除したが、同じエラーになります。
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