情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

ブログ内検索

スポンサーサイト このエントリーを含むはてなブックマーク

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 | 編集

TeXインストーラーでダウンロード情報の取得に失敗したときは このエントリーを含むはてなブックマーク

前回の記事「簡単TeXインストール@Windows」でも紹介したように、TeXインストーラを利用していると、しばしばダウンロード情報の取得に失敗します。そこで、そのエラーの対策について説明します。

症状

ダウンロード情報の取得を開始すると、

接続時にエラー発生。

と表示されてしまいます。そうなると、もう一度設定画面から実行してみても同じエラーが表示される可能性大です。

エラーログ

このときのログは、kakuto3/kakuto3_log.txtに保存されています。

たとえば、私がエラーに遭遇したときは次のようになっていました。

--------2010年1月1日0時0分に起動した時のログ ---------- 
W32TeXの情報取得開始 
W32TeXの情報取得成功 
dvioutの情報取得開始 
dvioutの情報取得成功 
GhostScriptの情報取得開始 
GhostScriptの情報取得成功 
GSViewの情報取得開始 
ftp.ring.gr.jpへの接続でタイムアウト 
ftp.ring.gr.jpへの接続失敗.

つまり、この場合はGSViewの情報を取得したときにエラーが発生していることになります。つまり、疑わしきは、GSViewのダウンロード先サーバです。

ダウンロード先URLの設定を見直す

ログファイルから情報の取得に失敗しているプログラムを特定したら、ダウンロード先URLを変更してからもう一度インストールを実行してみます。

今回はGSViewが原因でしたが、そのデフォルトのインストール先URLは

ftp://ftp.ring.gr.jp/pub/tex/CTAN/support/ghostscript/ghostgum/

でした。

そこで、このURLをドロップダウンリストの中から別のものに変更します。 実は「ring」がアドレスに入るサーバすべてに失敗したことがあるので、おすすめはその「ring」の入っていない

ftp://ftp.u-aizu.ac.jp/pub/tex/CTAN/support/ghostscript/ghostgum/

です。

成功

ダウンロード先URLを変更してみると、そのうち成功すると思います。もしリストの中のURLすべてに失敗するようなことがあれば、時間を空けて再チャレンジすればうまくいくかもしれません。

美文書作成入門
改訂新版 コンピュータの名著・古典100冊
ソフトウェア開発の名著を読む

スポンサーサイト
TeX | コメント:0 | トラックバック:0 | 編集

subclipseでupdate時に衝突した場合の解決方法 このエントリーを含むはてなブックマーク

一人利用だとsubversionを利用していてもコミット時に衝突することなどなかったのですが、実際に衝突してみて分かったことをメモ

subclipseでの衝突表示

update(更新)実行時に、自分が変更を加えたリビジョン(rev9)より新しいリビジョン(rev10)がすでにコミット済みで、変更位置が重なっていた場合、衝突が発生します。つまり、編集箇所がかぶってしまった場合に発生するわけです。

衝突が発生すると、衝突が発生した箇所に

<<<<<<< .mine
=======
>>>>>>> .r10
という3つの行が現れます。どうやらこれらは、
(衝突に関係ないところ)
<<<<<<< .mine
(updateしようとしたときの作業コピーの内容)
=======
(すでにコミットされていたレポジトリrevision10の内容)
>>>>>>> .r10
(衝突に関係ないところ)
という意味みたいです。つまり、自分の作業コピーの内容に戻すには、「=======」から「>>>>>>> .r10」までを削除すればいいわけです。

修正してコミットしてみる

上記のように、衝突時、ファイルに><が大量に書き込まれてしまうので、手元でファイルを修正してコミットします。しかし、以下のようなエラーが発生してしまいます。

'SVNコミット' has encountered a problem.

org.tigris.subversion.javahl.ClientException:
A conflict in the working copy  obstructs the current operation
svn: Commit failed (details follow):
svn: Abortingj commit:
'D:\...\workspace\作業コピーの場所\ClassName.java'
remains in conflict
衝突を修正したはずなのにどうすればよいのか。

どうすればいいのか

衝突していた場所を適切に修正したのにエラーが表示されたわけですが、ではいったいどうすればいいのか。

エラー本文に「remains in conflict」とありますが、これは内容的な衝突が残っているということではなく、とあるファイルが残っていることを示しています。たとえば、ClassName.javaファイルが衝突していた場合、同じファイル階層に

ClassName.java.mine
ClassName.java.r9
ClassName.java.r10
の3つが作成されているはずです。「.mine」ファイルが自分の作業コピー、「.r9」が自分が変更を加えていたリビジョン、「.r10」がすでにレポジトリにコミットされていた内容を表したファイルです。これらが削除されるまで「remains in conflict」が残ってしまいます。つまり、これら3ファイルを削除すればOKです

具体的な方法

まず、.java.mine、.java.r??ファイルなどを参考にしながら、もともとの作業コピーである.javaファイルを修正します。

続いて、「Package Explorer」上の.javaファイルを右クリックして、「Team>解決済みにマーク」をクリックし、「解決済みにマーク」ダイアログを表示させます。

What do you want to do?
  • Conflicts have been resolved in the file.
  • Resolve the conflict by using my version of the file.
  • Resolve the conflict by using the incoming version of the file.
  • Resolve the conflict by using the base version of the file.
ここで、「Conflicts have been resolved in the file」を選択すれば完了ですcf. $svn help resolved

強制的に上書きしたいときは

このような衝突時に強制的に自分の作業コピーでレポジトリを上書きしたい場合は、「Resolve the conflict by using my version of the file.」を選択すればOKです。

まとめ

衝突したときは、機械的に生成される「.mine」「.r最新の番号」「.r古い番号」という3ファイルをどうにかして削除する必要があり、削除には、「解決済みにマーク」を利用するのがよい。

バージョン管理ってすごく便利だけど、機能がたくさんあって難しい。

Subversion | コメント:0 | トラックバック:0 | 編集
 | HOME | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。