Cygwin のアップグレードを行ったところ,「Uncaught Exception」という致命的エラーで失敗する。ダウンロードするサーバを変更することで,正常にアップデートが完了した。
Cygwin は Windows プラットホームで動作する Unix ライクな環境である。
インストールやアップグレードは setup.exe コマンドを起動するだけなので,非常に簡単である。setup のダイアログの中で国内のミラーを選択できるので,近くのサーバを指定してダウンロードすることができる。
アップグレードするために setup.exe を起動し,ダウンロードが始まったが,途中でエラー表示のダイアログボックスが表示された。
Download Incomplete. Try again?
ここで「はい」ボタンをクリックすると,ダウンロードするサーバを選択する画面に戻ってしまう。「いいえ」ボタンをクリックすると,致命的なエラーのダイアログが表示された。
Fatal Error: Uncaught Exception
Thread: install
Type: St16invalid_argument
Message: URL Scheme not registered!
ファイルが取得できないという例外が起こっているようである。もう一度最初のエラーメッセージをよく見ると,「Download Incomplete」の後ろのウィンドウに「Downloading... coreutils-5.3.0-4.tar.bz2」と表示されていることが分かる。
このファイルのダウンロード中にエラーが起きているのである。
今回ダウンロード先に指定した
ftp://ring.so-net.ne.jp/archives/pc/gnu-win32/release/coreutils のディレクトリを調べてみると,内容は以下のようになっていた。
coreutils-5.2.1-5-src.tar.bz2
coreutils-5.2.1-5.tar.bz2
coreutils-5.3.0-3-src.tar.bz2
coreutils-5.3.0-3.tar.bz2
coreutils-5.3.0-5-src.tar.bz2
coreutils-5.3.0-5.tar.bz2
md5.sum
setup.hint
ダウンロードしようとしている coreutils-5.3.0-4.tar.bz2 が存在していないことが分かる。
このエラーは,サーバにあるファイルリストと,実際にサーバ上にあるファイルが一致していないことが原因ではないかと思われる。ファイルは最新の coreutils-5.3.0-5.tar.bz2 が置かれていることから,おそらくリストの方が古いのだろう。何らかのトラブルにより,リストのアップデートだけが行われていないのだ。
試しに,ダウンロード先を違うサーバ ring.fujixerox.co.jp に変更したところ,最新版の coreutils-5.3.0-5.tar.bz2 がダウンロードされ,問題なくインストールが完了した。
Master Archive Index
Total Entry Count: 1957