wasted / netflow

Scala/Netty Netflow Collector used at wasted.io
http://netflow.io
Other
84 stars 31 forks source link

compilation error #11

Closed brunorey closed 9 years ago

brunorey commented 9 years ago

Hi, I tried to download and compile netflow.io but I was unable to compile.

After downloading first I tried "./sbt compile" and got an error with dependency phantom-dsl_2.11 (sbt.ResolveException: unresolved dependency: com.websudos#phantom-dsl_2.11;1.2.7: not found). I edited build.sbt to include phantom version 1.5.0 instead of 1.2.7 (because it was the only one I found here: http://mvnrepository.com/artifact/com.websudos/phantom-dsl_2.11)

After editing this, the dependency was resolved correctly but I got a new error with implicit conversions:

[error] /home/bruno/repos/prototipos/wasted-netflow.io/src/main/scala/io/netflow/actors/FlowWorker.scala:20: type mismatch; [error] found : String("FlowWorker %02d:") [error] required: ?{def format(x$1: ? >: Int): ?} [error] Note that implicit conversions are not applicable because they are ambiguous: [error] both method augmentString in object Predef of type (x: String)scala.collection.immutable.StringOps [error] and method wrapString in class LowPriorityImplicits of type (s: String)scala.collection.immutable.WrappedString [error] are possible conversion functions from String("FlowWorker %02d:") to ?{def format(x$1: ? >: Int): ?} [error] override val loggerName = "FlowWorker %02d:".format(num)

I got that error and others very similar (24 total). I tried both master and v0.7.0 with the same results.

Maybe it's something simple, but I'm a total newbie with scala and I wasn't able to just "download and compile" the project, thought you should know.

I'm pasting my full compilation output here: http://pastebin.com/bVssmX8e

fbettag commented 9 years ago

Hi there, sorry for this!

The issue at hand was their (websudo's) phantom-dsl driver not being scala 2.11 ready. I helped out on that, so there is a bit of weirdness at the moment.

For now, check the "external/phantom" folder in the netflow repo. If it's not there, then you need to run "git submodules update --init" to pull it. Then just cd $where_this_repo_is/external/phantom and run ./sbt publish-local (to push it into your local repo). Then you're good to go without changing a thing.

I need to rewrite netflow to work with their new and final version, mine is the quick but very well working variant (as far as we know).

Sorry for the hassle.

fbettag commented 9 years ago

don't forget to rm -rf ~/.ivy first to clean out the fetched dependency!

brunorey commented 9 years ago

Thanks a lot for the quick response!

I followed your instructions and everything worked great. I just had to edit external/phantom/project/Build.scala to publish to scala 2.11 instead of 2.10.

fbettag commented 9 years ago

Sorry, this would’ve been just ./sbt +publish-local instead of ./sbt publish-local.

The + tells sbt to build for all versions :)