読者です 読者をやめる 読者になる 読者になる

ねこ元帥の中の人@リウマチ

日々の覚書など。ブログ名はオンラインゲームのアカウント名をいつも「ねこ元帥」にしているから。そして、2013年11月リウマチと診断されたとです。(2012年11月から時々手足に原因不明の痛みが発生、2013年9月以降は足の痛みが常態化、2013年12月30日からMTX服用開始、4月過ぎるころにはわずかの痛みが残る程度まで回復して現在に至る。)

xsbtのsbtプロジェクトがコンパイルエラーで起動できない

Ubuntu 12.04にクローンしていたxsbtのビルドツリーで、以下のようなエラーが出てsbtプロジェクトが開けなくなってしまった。

$ sbt
[info] Loading project definition from /home/takamatu/apps/xsbt/project
[info] Compiling 7 Scala sources to /home/takamatu/apps/xsbt/project/target/scala-2.9.2/sbt-0.12/classes...
[error] /home/takamatu/apps/xsbt/project/Proguard.scala:1: not found: object sbt
[error]         import sbt._
[error]                ^
[error] /home/takamatu/apps/xsbt/project/Proguard.scala:99: value partition is not a member of Any
[error]                 val (ivyJars, notIvy) = notJLine partition isJarX("ivy")
[error] 
^
≪省略≫

[error] /home/takamatu/apps/xsbt/project/Util.scala:150: value % is not a member of java.lang.String
[error]         lazy val sbinary = lib("org.scala-tools.sbinary" % "sbinary_2.9.0" % "0.4.0" )
[error]                                                          ^
[error] 19 errors found
[error] (compile:compile) Compilation failed
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q


別のUbuntu 12.04環境とWindowsにクローンしているビルドツリーでは問題ないのと、エラーメッセージから、自動ダウンロードしているsbtのプログラムがおかしくなっているだろうと推測し、削除してみたが結果変わらず。

$ rm -rf ~/.sbt


ivy2キャッシュにゴミが残っているのかと思い以下の通り削除してみたが、これでも結果変わらず。

$ rm -rf ~/.sbt
$ rm -rf ~/.ivy2/cache/org.scala-sbt


ivy2のローカルリポジトリ内からも削除してみたが、結果変わらず。

$ rm -rf ~/.sbt
$ rm -rf ~/.ivy2/cache/org.scala-sbt
$ rm -rf ~/.ivy2/local/org.scala-sbt


試しにivy2リポジトリ全部消してみたらsbt起動できるようになった。

$ rm -rf ~/.sbt
$ rm -rf ~/.ivy2


削除すべきパッケージが間違っていただけなのか?エラーはsbtオブジェクトが見つからないと言っているようなので、ivy2リポジトリにあったものの中ではorg.scala-sbtくらいしか該当するものが見当たらない。org.scala-sbt*.xmlファイルも消せばよかったのか?

原因が分かっていないのが気持ち悪い。仕組みを詳しく理解していれば簡単にわかるだろう。いずれそのうち・・・。