Compiling akka on OS X

46 views
Skip to first unread message

Stefan Plantikow

unread,
Aug 5, 2009, 5:48:02 AM8/5/09
to Akka User List
Hi,

I ran into some trouble setting up akka on os x.

(1) I had to manually mvn install in util-java at one point, otw a
toplevel mvn install would fail due to missing artefacts

However, this issue seems to have gone with current git head.

(2) I dont know how bad this is but mvn complains about multiple scala
library version being in the buildpath (both 2.7.4 and 2.7.5 are
pulled by mvn)

[WARNING] Multiple versions of scala libraries detected!

(3) Building the kernel yields

/usr/local/src/akka/kernel/src/main/scala/reactor/
EventBasedThreadPoolDispatcher.scala:311: error: type mismatch;
found : java.util.Collection[_$1] where type _$1 <:
java.util.concurrent.Callable[T]
required: java.util.Collection[java.util.concurrent.Callable[?]]
def invokeAll[T](callables: Collection[_ <: Callable[T]]) =
executor.invokeAll(callables)

^
/usr/local/src/akka/kernel/src/main/scala/reactor/
EventBasedThreadPoolDispatcher.scala:312: error: type mismatch;
found : java.util.Collection[_$2] where type _$2 <:
java.util.concurrent.Callable[T]
required: java.util.Collection[java.util.concurrent.Callable[?]]
def invokeAll[T](callables: Collection[_ <: Callable[T]], l: Long,
timeUnit: TimeUnit) = executor.invokeAll(callables, l, timeUnit)

^
/usr/local/src/akka/kernel/src/main/scala/reactor/
EventBasedThreadPoolDispatcher.scala:313: error: type mismatch;
found : java.util.Collection[_$3] where type _$3 <:
java.util.concurrent.Callable[T]
required: java.util.Collection[java.util.concurrent.Callable[?]]
def invokeAny[T](callables: Collection[_ <: Callable[T]]) =
executor.invokeAny(callables)

^
/usr/local/src/akka/kernel/src/main/scala/reactor/
EventBasedThreadPoolDispatcher.scala:314: error: type mismatch;
found : java.util.Collection[_$4] where type _$4 <:
java.util.concurrent.Callable[T]
required: java.util.Collection[java.util.concurrent.Callable[?]]
def invokeAny[T](callables: Collection[_ <: Callable[T]], l: Long,
timeUnit: TimeUnit) = executor.invokeAny(callables, l, timeUnit)


This can be fixed be commenting these methods out and their
alternatives in (cf source).


(4) Now everything builds nicely, but there are lots of test failures:

-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running
se.scalablesolutions.akka.kernel.reactor.ThreadBasedDispatcherTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.069
sec
Running se.scalablesolutions.akka.kernel.AllTest
Tests run: 48, Failures: 17, Errors: 25, Skipped: 0, Time elapsed:
1.232 sec <<< FAILURE!
Running
se.scalablesolutions.akka.kernel.reactor.EventBasedSingleThreadDispatcherTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009
sec
Running
se.scalablesolutions.akka.kernel.reactor.EventBasedThreadPoolDispatcherTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.025
sec

Results :

Failed tests:
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)
warning(junit.framework.TestSuite$1)

Tests in error:
testOneWayCallKillCallSingleActorOneForOne
(se.scalablesolutions.akka.kernel.SupervisorSpec)
testOneWayKillSingleActorOneForOne
(se.scalablesolutions.akka.kernel.SupervisorSpec)
testKillMultipleActorsAllForOne
(se.scalablesolutions.akka.kernel.SupervisorSpec)
testKillMultipleActorsOneForOne
(se.scalablesolutions.akka.kernel.SupervisorSpec)
testCallKillCallSingleActorAllForOne
(se.scalablesolutions.akka.kernel.SupervisorSpec)
testKillSingleActorAllForOne
(se.scalablesolutions.akka.kernel.SupervisorSpec)
testCallKillCallSingleActorOneForOne
(se.scalablesolutions.akka.kernel.SupervisorSpec)
testKillSingleActorOneForOne
(se.scalablesolutions.akka.kernel.SupervisorSpec)
testStartServer(se.scalablesolutions.akka.kernel.SupervisorSpec)
testSendReceiveException
(se.scalablesolutions.akka.kernel.actor.ActorSpec)
testSendReplyAsync(se.scalablesolutions.akka.kernel.actor.ActorSpec)
testSendReplySync(se.scalablesolutions.akka.kernel.actor.ActorSpec)
testSendOneWay(se.scalablesolutions.akka.kernel.actor.ActorSpec)
testRefShouldRollbackStateForStatefulServerInCaseOfFailure
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)
testRefShouldNotRollbackStateForStatefulServerInCaseOfSuccess
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)
testVectorShouldRollbackStateForStatefulServerInCaseOfFailure
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)
testVectorShouldNotRollbackStateForStatefulServerInCaseOfSuccess
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)
testMapShouldRollbackStateForStatefulServerInCaseOfFailure
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)
testMapShouldNotRollbackStateForStatefulServerInCaseOfSuccess
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)
testOneWayRefShouldRollbackStateForStatefulServerInCaseOfFailure
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)
testOneWayRefShouldNotRollbackStateForStatefulServerInCaseOfSuccess
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)
testOneWayVectorShouldRollbackStateForStatefulServerInCaseOfFailure
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)

testOneWayVectorShouldNotRollbackStateForStatefulServerInCaseOfSuccess
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)
testOneWayMapShouldRollbackStateForStatefulServerInCaseOfFailure
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)
testOneWayMapShouldNotRollbackStateForStatefulServerInCaseOfSuccess
(se.scalablesolutions.akka.kernel.actor.InMemoryActorSpec)

Tests run: 56, Failures: 17, Errors: 25, Skipped: 0


I guess due tot this, no jars get installed into the m2 repo.

499 seeker:samples-java $> find /Users/stepn/.m2/repository/se/
scalablesolutions/akka/akka
/Users/stepn/.m2/repository/se/scalablesolutions/akka/akka
/Users/stepn/.m2/repository/se/scalablesolutions/akka/akka/0.5
/Users/stepn/.m2/repository/se/scalablesolutions/akka/akka/0.5/
akka-0.5.pom
/Users/stepn/.m2/repository/se/scalablesolutions/akka/akka/maven-
metadata-local.xml


(5) Therefore I cant start the examples. Manually deploying and hoping
for the best:

mvn jar:jar
mvn install:install-file -DgroupId=se.scalablesolutions.akka -
DartifactId=akka-kernel -Dversion=0.5 -Dpackaging=jar -Dfile=akka-
kernel-0.5.jar

Yields (sry for the long listing):

[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [scala:compile {execution: default}]
[WARNING] you don't define org.scala-lang:scala-library as a
dependency of the project
[INFO] Checking for multiple versions of scala
[WARNING] POM for 'org.guiceyfruit:guice-core:pom:2.0-
SNAPSHOT:compile' is invalid.

Its dependencies (if any) will NOT be available to the current build.
[INFO] Compiling 1 source files to /usr/local/src/akka/samples-scala/
target/classes
[INFO] use java command with args in file forced : false
/usr/local/src/akka/samples-scala/src/main/scala/SimpleService.scala:
15: error: value atmosphere is not a member of package org
import org.atmosphere.core.annotation.{Broadcast, BroadcastFilter =>
FilterBroadcast, Suspend}
^
/usr/local/src/akka/samples-scala/src/main/scala/SimpleService.scala:
16: error: value atmosphere is not a member of package org
import org.atmosphere.util.XSSHtmlFilter
^
/usr/local/src/akka/samples-scala/src/main/scala/SimpleService.scala:
17: error: value atmosphere is not a member of package org
import org.atmosphere.cpr.BroadcastFilter
^
java.lang.reflect.InvocationTargetException
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:585)
at org.scala_tools.maven.executions.MainHelper.runMain
(MainHelper.java:105)
at org.scala_tools.maven.executions.MainWithArgsInFile.main
(MainWithArgsInFile.java:26)
Caused by: java.lang.RuntimeException: malformed Scala signature of
Logging at 511; reference value net of package <root> refers to
nonexisting symbol.
at scala.tools.nsc.symtab.classfile.UnPickler
$UnPickle.errorBadSignature(UnPickler.scala:762)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$readSymbol(UnPickler.scala:172)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun$scala
$tools$nsc$symtab$classfile$UnPickler$UnPickle$$readSymbolRef$1.apply
(UnPickler.scala:714)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun$scala
$tools$nsc$symtab$classfile$UnPickler$UnPickle$$readSymbolRef$1.apply
(UnPickler.scala:714)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$at(UnPickler.scala:139)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$readSymbolRef(UnPickler.scala:
714)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$readSymbol(UnPickler.scala:166)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun$scala
$tools$nsc$symtab$classfile$UnPickler$UnPickle$$readSymbolRef$1.apply
(UnPickler.scala:714)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun$scala
$tools$nsc$symtab$classfile$UnPickler$UnPickle$$readSymbolRef$1.apply
(UnPickler.scala:714)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$at(UnPickler.scala:139)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$readSymbolRef(UnPickler.scala:
714)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$readSymbol(UnPickler.scala:166)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun$scala
$tools$nsc$symtab$classfile$UnPickler$UnPickle$$readSymbolRef$1.apply
(UnPickler.scala:714)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun$scala
$tools$nsc$symtab$classfile$UnPickler$UnPickle$$readSymbolRef$1.apply
(UnPickler.scala:714)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$at(UnPickler.scala:139)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$readSymbolRef(UnPickler.scala:
714)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$readType(UnPickler.scala:247)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun$scala
$tools$nsc$symtab$classfile$UnPickler$UnPickle$$readTypeRef$1.apply
(UnPickler.scala:715)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun$scala
$tools$nsc$symtab$classfile$UnPickler$UnPickle$$readTypeRef$1.apply
(UnPickler.scala:715)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$at(UnPickler.scala:139)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$readTypeRef(UnPickler.scala:715)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$readType(UnPickler.scala:253)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun$scala
$tools$nsc$symtab$classfile$UnPickler$UnPickle$$readTypeRef$1.apply
(UnPickler.scala:715)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$$anonfun$scala
$tools$nsc$symtab$classfile$UnPickler$UnPickle$$readTypeRef$1.apply
(UnPickler.scala:715)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$at(UnPickler.scala:139)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$readTypeRef(UnPickler.scala:715)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$readType(UnPickler.scala:283)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$LazyTypeRef$
$anonfun$32$$anonfun$apply$4.apply(UnPickler.scala:779)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$LazyTypeRef$
$anonfun$32$$anonfun$apply$4.apply(UnPickler.scala:779)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle.scala$tools$nsc
$symtab$classfile$UnPickler$UnPickle$$at(UnPickler.scala:139)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$LazyTypeRef$
$anonfun$32.apply(UnPickler.scala:779)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle$LazyTypeRef$
$anonfun$32.apply(UnPickler.scala:779)
at scala.tools.nsc.Global$$anonfun$6.apply(Global.scala:747)
at scala.tools.nsc.Global$$anonfun$6.apply(Global.scala:747)
at scala.tools.nsc.symtab.classfile.UnPickler$UnPickle
$LazyTypeRef.complete(UnPickler.scala:779)
at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:555)
at scala.tools.nsc.symtab.Symbols$Symbol.tpe(Symbols.scala:534)
at scala.tools.nsc.symtab.Symbols$Symbol.tpeHK(Symbols.scala:688)
at scala.tools.nsc.symtab.Types$Type.memberType(Types.scala:425)
at scala.tools.nsc.typechecker.Infer$Inferencer.checkAccessible
(Infer.scala:380)
at scala.tools.nsc.typechecker.Typers$Typer.typedIdent$1(Typers.scala:
3013)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3290)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3358)
at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier
(Typers.scala:3415)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3278)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3358)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply
$1$1.apply(Typers.scala:2645)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply
$1$1.apply(Typers.scala:2645)
at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:609)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:
2645)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3257)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3358)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3406)
at scala.tools.nsc.typechecker.Typers$Typer.typedCase(Typers.scala:
1450)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedCases
$1.apply(Typers.scala:1470)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedCases
$1.apply(Typers.scala:1468)
at scala.List$.loop$1(List.scala:300)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.tools.nsc.typechecker.Typers$Typer.typedCases(Typers.scala:
1468)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3173)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3358)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3406)
at scala.tools.nsc.typechecker.Typers$Typer.typedFunction
(Typers.scala:1545)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3153)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3170)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3358)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3406)
at scala.tools.nsc.typechecker.Typers$Typer.transformedOrTyped
(Typers.scala:3464)
at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:
1370)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3097)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3358)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3395)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:
1598)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply
(Typers.scala:1643)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply
(Typers.scala:1643)
at scala.List$.loop$1(List.scala:300)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:
1643)
at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate
(Typers.scala:1221)
at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef
(Typers.scala:1090)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3088)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3358)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3395)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:
1598)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply
(Typers.scala:1643)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply
(Typers.scala:1643)
at scala.List$.loop$1(List.scala:300)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.List$.loop$1(List.scala:304)
at scala.List$.mapConserve(List.scala:317)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:
1643)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3084)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3358)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3395)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:
1598)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply
(Typers.scala:1643)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply
(Typers.scala:1643)
at scala.List$.loop$1(List.scala:300)
at scala.List$.mapConserve(List.scala:317)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:
1643)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3084)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3358)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3395)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$2.apply
(Analyzer.scala:41)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:267)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply
(Global.scala:246)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply
(Global.scala:246)
at scala.Iterator$class.foreach(Iterator.scala:414)
at scala.collection.mutable.ListBuffer$$anon$1.foreach
(ListBuffer.scala:266)
at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:246)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:574)
at scala.tools.nsc.Global$Run.compile(Global.scala:667)
at scala.tools.nsc.Main$.process(Main.scala:73)
at scala.tools.nsc.Main$.main(Main.scala:87)
at scala.tools.nsc.Main.main(Main.scala)
... 6 more
[INFO] [resources:testResources]
[WARNING] Using platform encoding (MacRoman actually) to copy filtered
resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /usr/local/src/akka/samples-
scala/src/test/resources
[INFO] [compiler:testCompile]
[INFO] No sources to compile
[INFO] [scala:testCompile {execution: default}]
[WARNING] you don't define org.scala-lang:scala-library as a
dependency of the project
[INFO] Checking for multiple versions of scala
[WARNING] POM for 'org.guiceyfruit:guice-core:pom:2.0-
SNAPSHOT:compile' is invalid.

Its dependencies (if any) will NOT be available to the current build.
[WARNING] No source files found.
[INFO] [surefire:test]
[INFO] Surefire report directory: /usr/local/src/akka/samples-scala/
target/surefire-reports

-------------------------------------------------------
T E S T S
-------------------------------------------------------
There are no tests to run.

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] [jar:jar]
[INFO] [install:install]
[INFO] Installing /usr/local/src/akka/samples-scala/target/akka-
samples-scala-0.5.jar to /Users/stepn/.m2/repository/se/
scalablesolutions/akka/akka-samples-scala/0.5/akka-samples-
scala-0.5.jar
[INFO] [antrun:run {execution: default}]
[INFO] Executing tasks
[INFO] Executed tasks
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 30 seconds
[INFO] Finished at: Wed Aug 05 11:38:10 CEST 2009
[INFO] Final Memory: 18M/33M


(6) And for the java example:

[INFO] [resources:resources]
[WARNING] Using platform encoding (MacRoman actually) to copy filtered
resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /usr/local/src/akka/samples-
java/src/main/resources
[WARNING] POM for 'org.guiceyfruit:guice-core:pom:2.0-
SNAPSHOT:compile' is invalid.

Its dependencies (if any) will NOT be available to the current build.
[INFO] [compiler:compile]
[INFO] Compiling 1 source file to /usr/local/src/akka/samples-java/
target/classes
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Compilation failure

/usr/local/src/akka/samples-java/src/main/java/sample/java/
SimpleService.java:[38,13] cannot access scala.ScalaObject
file scala/ScalaObject.class not found
storage.put(KEY, 0);

/usr/local/src/akka/samples-java/src/main/java/sample/java/
SimpleService.java:[42,36] cannot access scala.collection.mutable.Map
file scala/collection/mutable/Map.class not found
int counter = (Integer)storage.get(KEY).get() + 1;

/usr/local/src/akka/samples-java/src/main/java/sample/java/
SimpleService.java:[43,13] cannot find symbol
symbol : method put(java.lang.String,int)
location: interface
se.scalablesolutions.akka.kernel.state.TransactionalMap<java.lang.String,java.lang.Object>


[INFO]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Wed Aug 05 11:39:34 CEST 2009
[INFO] Final Memory: 8M/15M
[INFO]
------------------------------------------------------------------------


(7)

505 seeker:samples-java $> mvn -version
Apache Maven 2.1.0-M2-SNAPSHOT (r739961; 2009-02-02 12:43:27+0100)
Java version: 1.5.0_19
Default locale: de_DE, platform encoding: MacRoman
OS name: "mac os x" version: "10.5.7" arch: "i386" Family: "unix"

505 seeker:samples-java $> scalac -version
Scala compiler version 2.7.5.final -- Copyright 2002-2009, LAMP/EPFL

used checkout:
commit ece95391aceaeac769b71663c3210473bc9774ef
Author: Jonas Boner <jo...@jonasboner.com>
Date: Tue Aug 4 18:06:34 2009 +0200

(8) Other issue:

start-akka-server.sh dies since it tries to use 2G of mem on a 2G
sys...

I'd say -Xmx1G is more reasonable for most people's machines... ;-)

after manually copying akka-kernel-0.5.jar to libdir it starts but at
this point things are screwed way to badly so it just bails with a
wild:

Starting Akka Kernel from directory ./..
Resetting persistent storage in ./../storage
Exception in thread "main" java.lang.ExceptionInInitializerError
at se.scalablesolutions.akka.kernel.Kernel.main(Kernel.scala)
Caused by: javax.management.NotCompliantMBeanException: Can't obtain
MBeanInfo from DynamicMBean: javax.management.RuntimeErrorException:
Error thrown by getMBeanInfo method of Dynamic MBean
at com.sun.jmx.mbeanserver.BaseMetaDataImpl.getMBeanClassName
(BaseMetaDataImpl.java:163)
at com.sun.jmx.mbeanserver.MetaDataImpl.getMBeanClassName
(MetaDataImpl.java:167)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean
(DefaultMBeanServerInterceptor.java:329)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean
(JmxMBeanServer.java:497)
at net.lag.configgy.Config$$anonfun$registerWithJmx$2.apply
(Config.scala:242)
at net.lag.configgy.Config$$anonfun$registerWithJmx$2.apply
(Config.scala:240)
at scala.List.foreach(List.scala:841)
at net.lag.configgy.Config.registerWithJmx(Config.scala:240)
at se.scalablesolutions.akka.kernel.Kernel$.setupConfig(Kernel.scala:
82)
at se.scalablesolutions.akka.kernel.Kernel$.<init>(Kernel.scala:30)
at se.scalablesolution

(9) And now to my actual question, hoping that all of the above
problems eventually will dissolve :-)

Is it possible to use akka without the persistence/transaction layer?
I'm mainly interested in using the monitoring and network/
serialization bits.
Would be nice if there was an example on how to do that.

Thanks for your time and effort,


Stefan Plantikow

Jonas Bonér

unread,
Aug 5, 2009, 5:53:22 AM8/5/09
to akka...@googlegroups.com
1. Are you running Java 6?
2. I think the tests fail because you haven't set AKKA_HOME
Sorry about the problems.

2009/8/5 Stefan Plantikow <stefan.p...@googlemail.com>:
--
Jonas Bonér

twitter: @jboner
blog: http://jonasboner.com
work: http://crisp.se
work: http://scalablesolutions.se
code: http://github.com/jboner

Timothy Perrett

unread,
Aug 5, 2009, 6:23:40 AM8/5/09
to Akka User List
I see the same errors, and I have AKKA_HOME set and run Java 6.

On Aug 5, 10:53 am, Jonas Bonér <jo...@jonasboner.com> wrote:
> 1. Are you running Java 6?
> 2. I think the tests fail because you haven't set AKKA_HOME
> Sorry about the problems.
>
> 2009/8/5 Stefan Plantikow <stefan.planti...@googlemail.com>:
> ...
>
> read more »

Timothy Perrett

unread,
Aug 5, 2009, 6:25:13 AM8/5/09
to Akka User List
Scrap that - I get errors, but they are not the same.
> ...
>
> read more »

Stefan Plantikow

unread,
Aug 5, 2009, 7:15:12 AM8/5/09
to Akka User List
Hello,


On 5 Aug., 11:53, Jonas Bonér <jo...@jonasboner.com> wrote:
> 1. Are you running Java 6?

No.

533 seeker:bin $> java -version
java version "1.5.0_19"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-
b02-304)
Java HotSpot(TM) Client VM (build 1.5.0_19-137, mixed mode, sharing)


> 2. I think the tests fail because you haven't set AKKA_HOME
> Sorry about the problems.

532 seeker:bin $> echo $AKKA_HOME
/usr/local/src/akka


I also switched to mvn 2.2 now

533 seeker:bin $> mvn -version
Apache Maven 2.2.0 (r788681; 2009-06-26 15:04:01+0200)
Java version: 1.5.0_19
Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
Home
Default locale: de_DE, platform encoding: MacRoman
OS name: "mac os x" version: "10.5.7" arch: "i386" Family: "unix"


Still seeing the errors described in the initial post.



Greetings,

Any clues?


Stefan.

Jonas Bonér

unread,
Aug 5, 2009, 7:35:36 AM8/5/09
to akka...@googlegroups.com
You need to run Java 6.
Try with that. Let me know.

2009/8/5 Stefan Plantikow <stefan.p...@googlemail.com>:

Stefan Plantikow

unread,
Aug 5, 2009, 9:16:58 AM8/5/09
to Akka User List


On 5 Aug., 13:35, Jonas Bonér <jo...@jonasboner.com> wrote:
> You need to run Java 6.
> Try with that. Let me know.

ok, switching to 1.6 helped a lot, sry wasnt clear to me from your
earlier remark.

now toplevel mvn install fails during building samples-lift and
compiling
samples-scala/java manually bails out with this:

[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Failed to configure plugin parameters for:
org.apache.maven.plugins:maven-deploy-plugin:2.4

check that the following section of the pom.xml is present and
correct:

<distributionManagement>
<!-- use the following if you're not using a snapshot version. -->
<repository>
<id>repo</id>
<name>Repository Name</name>
<url>scp://host/path/to/repo</url>
</repository>
<!-- use the following if you ARE using a snapshot version. -->
<snapshotRepository>
<id>repo</id>
<name>Repository Name</name>
<url>scp://host/path/to/repo</url>
</snapshotRepository>
</distributionManagement>


ok, now running the sample server seems to go fine at first but then
dies even if adding the sample-java.jar to the classpath manually

INF [20090805-15:15:35.839] actor: Starting actor: Actor
[1249830456174:sample.java.SimpleService]
Actor[1249830456174:sample.java.SimpleService]
INF [20090805-15:15:35.839] kernel: Loading boot class
[sample.scala.Boot]
Exception in thread "main" java.lang.ClassNotFoundException:
sample.scala.Boot
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
at se.scalablesolutions.akka.kernel.Kernel$$anonfun
$runApplicationBootClasses$1.apply(Kernel.scala:119)
at se.scalablesolutions.akka.kernel.Kernel$$anonfun
$runApplicationBootClasses$1.apply(Kernel.scala:117)
at scala.Iterator$class.foreach(Iterator.scala:414)
at scala.runtime.BoxedArray$AnyIterator.foreach(BoxedArray.scala:45)
at scala.Iterable$class.foreach(Iterable.scala:256)
at scala.runtime.BoxedArray.foreach(BoxedArray.scala:24)
at se.scalablesolutions.akka.kernel.Kernel$.runApplicationBootClasses
(Kernel.scala:117)
at se.scalablesolutions.akka.kernel.Kernel$.boot(Kernel.scala:71)
at se.scalablesolutions.akka.kernel.Kernel$.main(Kernel.scala:51)
at se.scalablesolutions.akka.kernel.Kernel.main(Kernel.scala)
INF [20090805-15:15:35.839] actor: Starting actor: Actor
[1249830456174:sample.java.SimpleService]

Viktor Klang

unread,
Aug 5, 2009, 9:28:52 AM8/5/09
to akka...@googlegroups.com
If you haven't built your samples-scala module, you'll have to remove sample.scala.Boot from your akka.conf
--
Viktor Klang

Rogue Scala-head

Blog: klangism.blogspot.com
Twttr: viktorklang

Jonas Bonér

unread,
Aug 5, 2009, 9:30:12 AM8/5/09
to akka...@googlegroups.com
Ok. I'll look at that. Thanks.

>
> ok, now running the sample server seems to go fine at first but then
> dies even if adding the sample-java.jar to the classpath manually
>

When running in kernel mode (e.g. the startup script). Then the jars
with boot classes and actors etc. need to be put in the ./deploy dir.
That is done automatically by maven if you run 'mvn install' from the root.

See the new samples-lift for an example of webapp mode.

/Jonas

Jonas Bonér

unread,
Aug 5, 2009, 9:31:06 AM8/5/09
to akka...@googlegroups.com
2009/8/5 Viktor Klang <viktor...@gmail.com>:
> If you haven't built your samples-scala module, you'll have to remove
> sample.scala.Boot from your akka.conf

Thanks Viktor. Right. The boot classe in the config (akka.conf) needs
to be in the JARs in the deploy dir.

Stefan Plantikow

unread,
Aug 5, 2009, 10:29:04 AM8/5/09
to Akka User List
I'm still not there...


Everything build now, is deployed in jars in deploy, but when I start
the sample server it still complains that

INF [20090805-16:04:27.526] kernel: REST service started successfully.
Listening to port [9998]
INF [20090805-16:04:27.526] kernel: Loading boot class
[sample.java.Boot]
Exception in thread "main" java.lang.ClassNotFoundException:
sample.java.Boot
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:319)

btw mvn deploy of samples still gives the weird error message about

[INFO] Failed to configure plugin parameters for:
org.apache.maven.plugins:maven-deploy-plugin:2.4


Greetings,


Stefan.

PS: $AKKA_HOME/deploy looks like this:

508 seeker:deploy $> ls -1
akka-samples-java-0.5.jar
akka-samples-scala-0.5.jar
logs
root
storage



Jonas Bonér

unread,
Aug 5, 2009, 10:38:36 AM8/5/09
to akka...@googlegroups.com, Akka User List
Sorry. I have no clue at the moment.

Anyone else have had problems like that?

You can debug yourself if you like. Look into the Kernel.scala class.
There is a method there that loads all the jars from deploy dir and
tries to load the boot classes in them.

Do a new pull first since I have done some stuff there that could
affect your problem.

Let me know if it persist. I am going away now for 3 days. Can look at
it when I get back (on the train now).

----
Jonas Bonér

twitter: @jboner
blog: http://jonasboner.com
work: http://crisp.se
work: http://scalablesolutions.se
code: http://github.com/jboner
code: http://akkasource.org

On Aug 5, 2009, at 16:29, Stefan Plantikow <stefan.p...@googlemail.com

Jonas Bonér

unread,
Aug 5, 2009, 1:27:44 PM8/5/09
to akka...@googlegroups.com, Akka User List

> (9) And now to my actual question, hoping that all of the above
> problems eventually will dissolve :-)
>
> Is it possible to use akka without the persistence/transaction layer?
> I'm mainly interested in using the monitoring and network/
> serialization bits.

Sure you can.

For the persistence simply don't use any of the Persistent/
Transactional data structures.

The STM default semantics is SUPPORTS. Eg do not start a new but join
one if there is one. It has a slight overhead though. Therefore you
can turn it off completely either in the akka.conf or
programmatically. See the reference docs for details.


> Would be nice if there was an example on how to do that.

Yeah. I will try to write one soon.

>
> Thanks for your time and effort,

Thanks for trying Akka out.
Do you have a real case for it or is it just for fun?

>
>
> Stefan Plantikow
> >
Reply all
Reply to author
Forward
0 new messages