unable to run examples in scala-bokeh?

Hi, I’m really excited to see the scala bindings available for Bokeh, they look terrific. I cloned the latest (f78f130522) from https://github.com/bokeh/bokeh-scala and when I try to run tests, it appears as if Fields is not in the classpath:

[error] bokeh-scala/bokeh/src/main/scala/objects/Canvas.scala:3: not found: type fields

[error] @fields class Canvas extends PlotObject {

[error] ^

[error] bokeh-scala/bokeh/src/main/scala/objects/PlotObject.scala:5: not found: type fields

[error] @fields abstract class PlotObject extends HasFields with Refs[Ref] {

[error] ^

[error] bokeh-scala/bokeh/src/main/scala/objects/Glyphs.scala:3: not found: type fields

[error] @fields abstract class BaseGlyph extends HasFields {

Any suggestions?

-Mark

Hi,

···

On Sun, Sep 21, 2014 at 6:33 AM, [email protected] wrote:

Hi, I’m really excited to see the scala bindings available for Bokeh, they look terrific. I cloned the latest (f78f130522) from https://github.com/bokeh/bokeh-scala and when I try to run tests, it appears as if Fields is not in the classpath:

[error] bokeh-scala/bokeh/src/main/scala/objects/Canvas.scala:3: not found: type fields

[error] @fields class Canvas extends PlotObject {

[error] ^

[error] bokeh-scala/bokeh/src/main/scala/objects/PlotObject.scala:5: not found: type fields

[error] @fields abstract class PlotObject extends HasFields with Refs[Ref] {

[error] ^

[error] bokeh-scala/bokeh/src/main/scala/objects/Glyphs.scala:3: not found: type fields

[error] @fields abstract class BaseGlyph extends HasFields {

Any suggestions?

This is really strange and shouldn’t happen, if you simply cloned the repository and run test in sbt. The only way I can reproduce this is to remove core sub-project from bokeh’s dependencies, but, in this case, you would get a couple hundred errors, also unrelated to @fields macro annotation. Can you show me output from last compile command, just after running compile (the output from last compile will be huge, so please make it an attachment)? This should shed some light on how compilation works on your system.

Mateusz

-Mark

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/11c0cb05-491d-4439-b6f2-28a5baed1e55%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi,

···

On Sun, Sep 21, 2014 at 6:33 AM, [email protected] wrote:

Hi, I’m really excited to see the scala bindings available for Bokeh, they look terrific. I cloned the latest (f78f130522) from https://github.com/bokeh/bokeh-scala and when I try to run tests, it appears as if Fields is not in the classpath:

[error] bokeh-scala/bokeh/src/main/scala/objects/Canvas.scala:3: not found: type fields

[error] @fields class Canvas extends PlotObject {

[error] ^

[error] bokeh-scala/bokeh/src/main/scala/objects/PlotObject.scala:5: not found: type fields

[error] @fields abstract class PlotObject extends HasFields with Refs[Ref] {

[error] ^

[error] bokeh-scala/bokeh/src/main/scala/objects/Glyphs.scala:3: not found: type fields

[error] @fields abstract class BaseGlyph extends HasFields {

Any suggestions?

I presume that you use OSX? If that’s the case, then its file system (HFS) in the default configuration is case insensitive. bokeh-scala’s core subproject contains object Model and class model which generate Model$.class, Model.class and model.class, which obviously can’t work on a case insensitive file system (I’m using model instead of fields, because this was renamed yesterday). I will rename object Model to something different, say object ModelImpl (it’s a private object anyway, so it doesn’t matter), to support OSX.

In the long run you may want to consider creating a partition with case-sensitive version of HFS. Another option is to mount target directory as an in-memory/temporary file system. I had used such setup for a while to overcome limitations of cryptfs, which doesn’t support sufficiently long paths, effectively forbidding compilation of scalac or some of scala’s libraries.

Mateusz

-Mark

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/11c0cb05-491d-4439-b6f2-28a5baed1e55%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.