日別アーカイブ: 2011年7月17日

休日は畑にいます

暑い日が続きますが、最近の週末は主に畑にいます

昨年、今の家に移り住んでから手がけている家庭菜園ですが、2年目となる今年もいくつかの実りをもたらしてくれています。
ここ最近は本当に暑い日が続いているのですが、汗を垂らしながら雑草と戦っています

f:id:krote:20110702171648j:image

特に農業に強い興味があった訳でも前持った知識を持っている訳でもないので、ネットや本を見ながら試行錯誤しながら育てています。
実際のところ、実がつかなかったり、ついても小さかったりとなかなかうまく行きません。
お店に売っている野菜を見ては、ちょっとショックを受けることも少なくはないような状況です

f:id:krote:20110702171616j:image

それでも今年は、去年全くうまく行かなかったカボチャやトウモロコシが実を付けてくれています。他にもそれなりに実を付けてくれており、個人的にはそれなりに満足。
でも、作ってみて思うのは、やっぱりお店で売られているような野菜を作るのは思っている以上に難しいんだなと言うことです。

f:id:krote:20110702171556j:image

小さい実が多かったり、虫にあちこち食べられているなんて言うのは日常茶飯事。
ブロッコリーはモンシロチョウの青虫がかなり多くいて、茹でた後に発見するなんて言うことが日常のようにありました。
虫がそんなに得意でない妻にはちょっと申し訳なく思いながらも、自分で育てたものとなるとやっぱり大事に食べなくちゃってなってしまいます。

かかっている手間ひまを考えると、やっぱり収支はマイナスなんでしょう。怖くて正確なところは計算できません。
大変で、泥臭くて、時間はそれなりに拘束されてしまう面は否定できません。
それでも、何かを育てるということは勉強になり、そして面白いもの。色々な発見があります。

ジャガイモ掘りやサツマイモ掘り。トウモロコシを子供と一緒に楽しめるようになれば、また一段と面白くなるんじゃないかな~。
そんなことを楽しみにしています。

eclipseの起動に失敗する

Scalaの本を読み続けているのですが、REPL上ではミスが許されないのでそれなりの規模のコードを書くのはつらい。
という訳でIDEを利用しての開発を行おうと考え、手っ取り早くすみそうだと感じたeclipseをインストールしようとしているのですがうまく行かない。

Macへのeclipseインストール

ネット上を見る限りでは、Macへeclipseをインストールするのは何も難しいことではなく

  1. ダウンロード
  2. 解凍
  3. eclipse.appのダブルクリック

で終わるように思う。
これは、Windowsと異なりMacでは最初からJavaがインストールされているためにそれらのことを考えなくていいかららしい。

どこにもミスが介在するような余地が残されていないように感じるのだが、起動しようとするとエラーが発生してしまい起動が出来ないのである。

とりあえず状況の整理だ

まずは、障害対策の基本に立ち返って現状の整理を行う。

  • Javaのバージョン

javaが正しく認識できるか?また、バージョンはいくつだろうか?
確かめるためにはターミナル上で「java -version」で確認が出来る

java version “1.6.0_26”
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)

うん、一応認識しているね。
まぁ、この辺りはMacの場合はユーザー側ではなくApple側が管理しているゾーンのような気がするのでそんなに心配はしていないんだけど。

  • ダウンロードしているファイルが間違っていないか

次にありがちなのが、一生懸命インストールしようとしている対象が間違っているというオチ。
MacOSなのにWindows版をインストールしようとしていたり32bitOSに64bitOS向けのものを利用していたり・・・だ。

私が利用している2011年に新発売されたモデルのiMacはデフォルトで64bitが利用されているようだ

Mac OS X v10.6:64 ビットのカーネルを使う Mac
http://support.apple.com/kb/HT3770?viewlocale=ja_JP

念のためにシステムプロファイラを起動してみても、「64ビットカーネルと拡張機能」項目は「はい」になっている。
先のjavaバージョン情報を見ても、64-Bit Server VMとなっているし64bitでいいようだ。

最新のIndigoはこちらからダウンロードが可能なので、MacOSX向けの64bit版を選ぶことになる

Eclipse Downloads
http://www.eclipse.org/downloads/

やりたいのはScalaなので何でもいいのかもしれないが、Javaが入っているにこしたことは無いので「Eclipse IDE for Java EE Developers」を選択してダウンロード。解凍する

やっぱりエラーになる

解凍したEclipse.appを起動すると、エラーになってしまう。

f:id:krote:20110718004949p:image

ログの中身を全部出すと長くなってしまうのだが、かいつまんで出せるほど詳しくもないので出してみる。うまく行ってない人間が中途半端な情報を出すとろくなことが起きないので。

!SESSION 2011-07-18 00:44:05.827 ———————————————–
eclipse.buildId=I20110613-1736
java.version=1.6.0_26
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=ja_JP
Framework arguments: -product org.eclipse.epp.package.jee.product -keyring /Users/krote/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.jee.product -keyring /Users/krote/.eclipse_keyring -showlocation

!ENTRY org.eclipse.equinox.p2.core 4 0 2011-07-18 00:44:07.140
!MESSAGE Provisioning exception
!STACK 1
org.eclipse.equinox.p2.core.ProvisionException: Unknown repository type at file:/Users/krote/Dev/eclipse/configuration/org.eclipse.osgi/bundles/281/data/listener_1925729951/.
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:393)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.doCreateRepository(AbstractRepositoryManager.java:282)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.createRepository(MetadataRepositoryManager.java:41)
at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:109)
at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:532)
at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:172)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1130)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
!SUBENTRY 1 org.eclipse.equinox.p2.metadata.repository 4 1005 2011-07-18 00:44:07.140
!MESSAGE Unknown repository type at file:/Users/krote/Dev/eclipse/configuration/org.eclipse.osgi/bundles/281/data/listener_1925729951/.

!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2011-07-18 00:44:07.142
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1130)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: java.lang.IllegalStateException: Could not create metadata repository for: file:/Users/krote/Dev/eclipse/configuration/org.eclipse.osgi/bundles/281/data/listener_1925729951/
at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:112)
at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:532)
at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:172)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
… 12 more
Root exception:
java.lang.IllegalStateException: Could not create metadata repository for: file:/Users/krote/Dev/eclipse/configuration/org.eclipse.osgi/bundles/281/data/listener_1925729951/
at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:112)
at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:532)
at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:172)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1130)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatc
hEvent(StartLevelManager.java:438)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY org.eclipse.osgi 4 0 2011-07-18 00:44:07.529
!MESSAGE Application error
!STACK 1
org.osgi.service.application.ApplicationException: No application id has been found.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:262)
at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

さてはて。気になるところとしては最初に発生している「org.eclipse.equinox.p2.core.ProvisionException: Unknown repository type at file」ですよね。
ただ、だからどーせいっちゅーねん!って感じ。

Javaのバグなのか?

ちょっと気になるものを見つけた

https://bugs.eclipse.org/bugs/show_bug.cgi?format=multiple&id=318046

うーん、コメント長いwwww

読んでいけばわかるのだろうか。今日はちょっとここまでにしよう。
ただ、「Scalaがしたい」のであって「Eclipseを使いたい」という訳ではない。
なので、いっそのこと違うIDEを利用するということも視野に入れるべきなんだろう。
こんなことに多大に時間を費やしてしまっていてなんだかバカバカしくなってきてしまったし・・・。

というわけで、続かないかもしれません><