Reputation: 1147
noob here with scala/sbt in general. Long-story short: a project written in scala was dumped on my head and i am having trouble getting it running locally.
i am executing sbt runMain Project
but it is throwing this error
[info] welcome to sbt 1.8.2 (Amazon.com Inc. Java 1.8.0_372)
[info] loading settings for project ProjectName-build from plugins.sbt,scalapb.sbt ...
[info] loading project definition from /Users/lolerskates/ProjectName/project
[info] loading settings for project app from build.sbt ...
[info] set current project to moneta (in build file:/Users/lolerskates/ProjectName/)
[info] Compiling 64 protobuf files to /Users/lolerskates/ProjectName/target/scala-2.11/src_managed/main
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Z/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Z/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Z/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Z/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Z/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Z/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/logging/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Z/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Z/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Z/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/X/SOME_MODEL.proto
[info] Compiling schema /Users/lolerskates/ProjectName/src/main/protobuf/model/Y/SOME_MODEL.proto
protoc-jar: protoc version: 3.7.1, detected platform: osx-aarch_64 (mac os x/aarch64)
protoc-jar: java.io.IOException: java.io.FileNotFoundException: /Users/lolerskates/.m2/settings.xml (No such file or directory)
protoc-jar: cached: /var/folders/55/bm34gjq16plfjmtl_fjyl95c0000gn/T/protocjar.webcache/com/google/protobuf/protoc/maven-metadata.xml
protoc-jar: java.io.IOException: java.io.FileNotFoundException: /Users/lolerskates/.m2/settings.xml (No such file or directory)
protoc-jar: cached: /var/folders/55/bm34gjq16plfjmtl_fjyl95c0000gn/T/protocjar.webcache/com/github/os72/protoc/maven-metadata.xml
protoc-jar: java.io.IOException: java.io.FileNotFoundException: /Users/lolerskates/.m2/settings.xml (No such file or directory)
protoc-jar: cached: /var/folders/55/bm34gjq16plfjmtl_fjyl95c0000gn/T/protocjar.webcache/com/google/protobuf/protoc/maven-metadata.xml
protoc-jar: downloading: https://repo.maven.apache.org/maven2/com/google/protobuf/protoc/3.7.1/protoc-3.7.1-osx-aarch_64.exe
protoc-jar: java.io.IOException: java.io.FileNotFoundException: /Users/lolerskates/.m2/settings.xml (No such file or directory)
protoc-jar: cached: /var/folders/55/bm34gjq16plfjmtl_fjyl95c0000gn/T/protocjar.webcache/com/github/os72/protoc/maven-metadata.xml
protoc-jar: downloading: https://repo.maven.apache.org/maven2/com/github/os72/protoc/3.7.1/protoc-3.7.1-osx-aarch_64.exe
[error] java.lang.RuntimeException: error occurred while compiling protobuf files: Unsupported platform: protoc-3.7.1-osx-aarch_64.exe
[error] at sbtprotoc.ProtocPlugin$.executeProtoc(ProtocPlugin.scala:166)
[error] at sbtprotoc.ProtocPlugin$.compile(ProtocPlugin.scala:197)
[error] at sbtprotoc.ProtocPlugin$.compileProto$1(ProtocPlugin.scala:251)
[error] at sbtprotoc.ProtocPlugin$.$anonfun$sourceGeneratorTask$4(ProtocPlugin.scala:259)
[error] at sbt.util.FileFunction$.$anonfun$cached$1(FileFunction.scala:80)
[error] at sbt.util.FileFunction$.$anonfun$cached$4(FileFunction.scala:153)
[error] at sbt.util.Difference.apply(Tracked.scala:414)
[error] at sbt.util.Difference.apply(Tracked.scala:394)
[error] at sbt.util.FileFunction$.$anonfun$cached$3(FileFunction.scala:149)
[error] at sbt.util.Difference.apply(Tracked.scala:414)
[error] at sbt.util.Difference.apply(Tracked.scala:389)
[error] at sbt.util.FileFunction$.$anonfun$cached$2(FileFunction.scala:148)
[error] at sbtprotoc.ProtocPlugin$.$anonfun$sourceGeneratorTask$1(ProtocPlugin.scala:265)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error] at sbt.std.Transform$$anon$4.work(Transform.scala:68)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:282)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
[error] at sbt.Execute.work(Execute.scala:291)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:282)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:64)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] at java.lang.Thread.run(Thread.java:750)
[error] Caused by: java.io.FileNotFoundException: Unsupported platform: protoc-3.7.1-osx-aarch_64.exe
[error] at com.github.SOME_MODEL.protocjar.Protoc.extractProtoc(Protoc.java:223)
[error] at com.github.SOME_MODEL.protocjar.Protoc.extractProtoc(Protoc.java:184)
[error] at com.github.SOME_MODEL.protocjar.Protoc.runProtoc(Protoc.java:68)
[error] at com.github.SOME_MODEL.protocjar.Protoc.runProtoc(Protoc.java:55)
[error] at sbtprotoc.ProtocPlugin$.$anonfun$protobufConfigSettings$21(ProtocPlugin.scala:134)
[error] at sbtprotoc.ProtocPlugin$.$anonfun$protobufConfigSettings$21$adapted(ProtocPlugin.scala:133)
[error] at protocbridge.ProtocBridge$.runWithGenerators(ProtocBridge.scala:79)
[error] at protocbridge.ProtocBridge$.run(ProtocBridge.scala:61)
[error] at sbtprotoc.ProtocPlugin$.executeProtoc(ProtocPlugin.scala:160)
[error] at sbtprotoc.ProtocPlugin$.compile(ProtocPlugin.scala:197)
[error] at sbtprotoc.ProtocPlugin$.compileProto$1(ProtocPlugin.scala:251)
[error] at sbtprotoc.ProtocPlugin$.$anonfun$sourceGeneratorTask$4(ProtocPlugin.scala:259)
[error] at sbt.util.FileFunction$.$anonfun$cached$1(FileFunction.scala:80)
[error] at sbt.util.FileFunction$.$anonfun$cached$4(FileFunction.scala:153)
[error] at sbt.util.Difference.apply(Tracked.scala:414)
[error] at sbt.util.Difference.apply(Tracked.scala:394)
[error] at sbt.util.FileFunction$.$anonfun$cached$3(FileFunction.scala:149)
[error] at sbt.util.Difference.apply(Tracked.scala:414)
[error] at sbt.util.Difference.apply(Tracked.scala:389)
[error] at sbt.util.FileFunction$.$anonfun$cached$2(FileFunction.scala:148)
[error] at sbtprotoc.ProtocPlugin$.$anonfun$sourceGeneratorTask$1(ProtocPlugin.scala:265)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error] at sbt.std.Transform$$anon$4.work(Transform.scala:68)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:282)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
[error] at sbt.Execute.work(Execute.scala:291)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:282)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:64)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] at java.lang.Thread.run(Thread.java:750)
[error] (Compile / protocGenerate) error occurred while compiling protobuf files: Unsupported platform: protoc-3.7.1-osx-aarch_64.exe
[error] Total time: 3 s, completed Mar 21, 2024 2:29:19 PM
i would like to note that i do have protoc
installed via homebrew. I have looked into this and this. From these posts, it is my understanding i only need to simply tell sbt to use my local /opt/homebrew/bin/protoc
but i absolutely have no idea where these changes should be made in which files.
Here are the versions of sbt and scala
❯ sbt --version
sbt version in this project: 1.8.2
sbt script version: 1.9.9
❯ scala --version
Scala code runner version 2.13.6 -- Copyright 2002-2021, LAMP/EPFL and Lightbend, Inc.
Upvotes: 0
Views: 75
Reputation: 95604
Assuming you're using sbt-protoc from the stacktrace, its readme says:
// Use a locally provided protoc (in 1.x):
Compile / PB.protocExecutable := file("/path/to/protoc")
// For sbt-protoc < 1.0 only:
Compile / PB.runProtoc := (args => Process("/path/to/protoc", args)!)
So depending on the version of sbt-protoc, you could try either of the above setttings.
Upvotes: 0