SBT Compiler failure on trying to write to root directory ( missing build parameter?)

52 views
Skip to first unread message

Larry Mills-Gahl

unread,
Sep 29, 2018, 7:16:44 AM9/29/18
to Scala IDE User
Hello,

I'm trying to track down an error in a project (a series of projects) that is causing an SBT compiler error 
on not having permission to create a directory. I'll give more detail below, but it sounds very much like
a base directory is not being set in the compiler so that it's trying to write to directories in the 
root of the computer. 
This didn't happen in Neon with plugin v 4.5, but it does happen in Oxygen with plugin v4.7

I'm hoping someone can point me toward the properties or environment variables that SBT uses to 
communicate the root of the buid structure to the plugin. 

Here are the relevant environments:

Eclipse  (SBT succeeds in this configuration )
Version: Neon.3 Release (4.6.3)
Build id: 20170314-1500

Scala Plugin 
Version: 4.5.0v-2_11-201612131030-0283a6

-- and -- 

Eclipse IDE for Java Developers (SBT fails on the project with the error below)
Version: Oxygen.3a Release (4.7.3a)
Build id: 20180405-1200

Scala Plugin
Version: 4.7.1v-2_12-201801021323-2dfe808


VAEO8 is the project and VAEO8/Libraries is where jar dependencies are found
This error shows it is failing when trying to write to the root of the computer. I tested this by 
creating the directory /VAEO8 (in the root of the computer) and giving myself
permission to write to it. THe compile succeeded then, but that's not a reasonable
workaround. 
        
2018-09-28 13:59:01,877 ERROR [Worker-39: Building workspace] - EclipseSbtBuildManager - ## Exception when compiling 360 sources to [/Users/lmg42/Development/VascAlert/Online_Apps/va8online_201410/VAEO8/bin, /Users/lmg42/Development/VascAlert/Online_Apps/va8online_201410/VAEO8/bin]
Could not create directory /VAEO8/Libraries
scala.sys.package$.error(package.scala:27)
sbt.io.IO$.createDirectory(IO.scala:206)
sbt.io.OpenFile.open(Using.scala:42)
sbt.io.OpenFile.open$(Using.scala:38)
sbt.io.Using$$anon$2.open(Using.scala:65)
sbt.io.Using$$anon$2.open(Using.scala:65)
sbt.io.Using.apply(Using.scala:22)
sbt.io.Hash$.apply(Hash.scala:55)
sbt.internal.inc.Hash$.ofFile(Stamp.scala:74)
sbt.internal.inc.Stamper$.$anonfun$forHash$2(Stamp.scala:144)
sbt.internal.inc.Stamper$.tryStamp(Stamp.scala:140)
sbt.internal.inc.Stamper$.$anonfun$forHash$1(Stamp.scala:144)
sbt.internal.inc.MixedAnalyzingCompiler$.$anonfun$makeConfig$1(MixedAnalyzingCompiler.scala:185)
scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
scala.collection.TraversableLike.map(TraversableLike.scala:234)
scala.collection.TraversableLike.map$(TraversableLike.scala:227)
scala.collection.AbstractTraversable.map(Traversable.scala:104)
sbt.internal.inc.MixedAnalyzingCompiler$.makeConfig(MixedAnalyzingCompiler.scala:184)
sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:259)
sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:158)
sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:237)
sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:145)
org.scalaide.core.internal.builder.zinc.CachingCompiler.compile(CachingCompiler.scala:47)
org.scalaide.core.internal.builder.zinc.EclipseSbtBuildManager.aggressiveCompile(EclipseSbtBuildManager.scala:212)
org.scalaide.core.internal.builder.zinc.EclipseSbtBuildManager.runCompiler(EclipseSbtBuildManager.scala:145)
org.scalaide.core.internal.builder.zinc.EclipseSbtBuildManager.update(EclipseSbtBuildManager.scala:127)
org.scalaide.core.internal.builder.zinc.EclipseSbtBuildManager.build(EclipseSbtBuildManager.scala:78)
org.scalaide.core.internal.project.scopes.BuildScopeUnit.build(BuildScopeUnit.scala:72)
org.scalaide.core.internal.project.SbtScopesBuildManager.$anonfun$build$3(SbtScopesBuildManager.scala:53)
org.scalaide.core.internal.project.SbtScopesBuildManager.$anonfun$build$3$adapted(SbtScopesBuildManager.scala:50)
scala.collection.immutable.List.foreach(List.scala:389)
org.scalaide.core.internal.project.SbtScopesBuildManager.build(SbtScopesBuildManager.scala:50)
org.scalaide.core.internal.project.ScalaProject.build(ScalaProject.scala:596)
org.scalaide.core.internal.builder.ScalaBuilder.build(ScalaBuilder.scala:111)
org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:795)
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:216)
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:259)
org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:312)
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:315)
org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:367)
org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:388)
org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:142)
org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:232)
org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
              
2018-09-28 13:59:01,879 ERROR [main] - org.scala-ide.sdt.core - org.scala-ide.sdt.core - org.scala-ide.sdt.core - 0 - Error in Scala compiler
java.lang.RuntimeException: Could not create directory /VAEO8/Libraries
at scala.sys.package$.error(package.scala:27)
at sbt.io.IO$.createDirectory(IO.scala:206)
at sbt.io.OpenFile.open(Using.scala:42)
at sbt.io.OpenFile.open$(Using.scala:38)
at sbt.io.Using$$anon$2.open(Using.scala:65)
at sbt.io.Using$$anon$2.open(Using.scala:65)
at sbt.io.Using.apply(Using.scala:22)
at sbt.io.Hash$.apply(Hash.scala:55)
at sbt.internal.inc.Hash$.ofFile(Stamp.scala:74)
at sbt.internal.inc.Stamper$.$anonfun$forHash$2(Stamp.scala:144)
at sbt.internal.inc.Stamper$.tryStamp(Stamp.scala:140)
at sbt.internal.inc.Stamper$.$anonfun$forHash$1(Stamp.scala:144)
at sbt.internal.inc.MixedAnalyzingCompiler$.$anonfun$makeConfig$1(MixedAnalyzingCompiler.scala:185)
at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
at scala.collection.TraversableLike.map(TraversableLike.scala:234)
at scala.collection.TraversableLike.map$(TraversableLike.scala:227)
at scala.collection.AbstractTraversable.map(Traversable.scala:104)
at sbt.internal.inc.MixedAnalyzingCompiler$.makeConfig(MixedAnalyzingCompiler.scala:184)
at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:259)
at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:158)
at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:237)
at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:145)
at org.scalaide.core.internal.builder.zinc.CachingCompiler.compile(CachingCompiler.scala:47)
at org.scalaide.core.internal.builder.zinc.EclipseSbtBuildManager.aggressiveCompile(EclipseSbtBuildManager.scala:212)
at org.scalaide.core.internal.builder.zinc.EclipseSbtBuildManager.runCompiler(EclipseSbtBuildManager.scala:145)
at org.scalaide.core.internal.builder.zinc.EclipseSbtBuildManager.update(EclipseSbtBuildManager.scala:127)
at org.scalaide.core.internal.builder.zinc.EclipseSbtBuildManager.build(EclipseSbtBuildManager.scala:78)
at org.scalaide.core.internal.project.scopes.BuildScopeUnit.build(BuildScopeUnit.scala:72)
at org.scalaide.core.internal.project.SbtScopesBuildManager.$anonfun$build$3(SbtScopesBuildManager.scala:53)
at org.scalaide.core.internal.project.SbtScopesBuildManager.$anonfun$build$3$adapted(SbtScopesBuildManager.scala:50)
at scala.collection.immutable.List.foreach(List.scala:389)
at org.scalaide.core.internal.project.SbtScopesBuildManager.build(SbtScopesBuildManager.scala:50)
at org.scalaide.core.internal.project.ScalaProject.build(ScalaProject.scala:596)
at org.scalaide.core.internal.builder.ScalaBuilder.build(ScalaBuilder.scala:111)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:795)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:216)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:259)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:312)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:315)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:367)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:388)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:142)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:232)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)

Arnaud

unread,
Oct 2, 2018, 12:28:27 PM10/2/18
to Scala IDE User
Larry,


java.lang.RuntimeException: Could not create directory /TestScalaJarIssue/lib
 at scala.sys.package$.error(package.scala:27)

Arnaud
Reply all
Reply to author
Forward
0 new messages