Reputation: 7524
I am following this to use pdal in my Java program. I have added following dependencies in my pom:
<dependency>
<groupId>io.pdal</groupId>
<artifactId>pdal-native</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.pdal</groupId>
<artifactId>pdal_3</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.pdal</groupId>
<artifactId>pdal-scala_2.13</artifactId>
<version>2.7.0</version>
</dependency>
Code is:
Pipeline pipeline = new Pipeline(json, LogLevel.Info()); //error on this line
pipeline.execute();
But this fails with:
java.lang.RuntimeException: Error running
uname
command
I am not sure of origin of 'uname'. It's not part of my pipeline json.
What am I missing?
Edit:
Here is the stacktrace:
java.lang.RuntimeException: Error running `uname` command
at scala.sys.package$.error(package.scala:27) ~[scala-library-2.13.13.jar:na]
at com.github.sbt.jni.syntax.NativeLoader$.liftedTree1$1(NativeLoader.scala:21) ~[sbt-jni-core_3-1.7.0.jar:1.7.0]
at com.github.sbt.jni.syntax.NativeLoader$.loadPackaged$1(NativeLoader.scala:22) ~[sbt-jni-core_3-1.7.0.jar:1.7.0]
at com.github.sbt.jni.syntax.NativeLoader$.load$1(NativeLoader.scala:56) ~[sbt-jni-core_3-1.7.0.jar:1.7.0]
at com.github.sbt.jni.syntax.NativeLoader$.load(NativeLoader.scala:59) ~[sbt-jni-core_3-1.7.0.jar:1.7.0]
at com.github.sbt.jni.syntax.NativeLoader.<init>(NativeLoader.scala:6) ~[sbt-jni-core_3-1.7.0.jar:1.7.0]
at io.pdal.Pipeline$.<init>(Pipeline.scala:50) ~[pdal_3-2.7.0.jar:2.7.0]
at io.pdal.Pipeline$.<clinit>(Pipeline.scala:50) ~[pdal_3-2.7.0.jar:2.7.0]
at io.pdal.Pipeline.<init>(Pipeline.scala:30) ~[pdal_3-2.7.0.jar:2.7.0]
at io.pdal.Pipeline.<init>(Pipeline.scala:33) ~[pdal_3-2.7.0.jar:2.7.0]
at com.lidarapidemo.lidarprocessing.LidarProcessor.streamPointCloudPostgis(LidarProcessor.java:100) ~[classes/:na]
at com.lidarapidemo.controllers.LidarController.lambda$pointsInBoundingBox$0(LidarController.java:39) ~[classes/:na]
at org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBodyReturnValueHandler$StreamingResponseBodyTask.call(StreamingResponseBodyReturnValueHandler.java:110) ~[spring-webmvc-6.1.11.jar:6.1.11]
at org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBodyReturnValueHandler$StreamingResponseBodyTask.call(StreamingResponseBodyReturnValueHandler.java:97) ~[spring-webmvc-6.1.11.jar:6.1.11]
at org.springframework.web.context.request.async.WebAsyncManager.lambda$startCallableProcessing$4(WebAsyncManager.java:348) ~[spring-web-6.1.11.jar:6.1.11]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
2024-08-13T12:15:25.380+05:30 ERROR 2384 --- [lidarapidemo] [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Async processing failed: java.lang.ExceptionInInitializerError] with root cause
java.lang.RuntimeException: Error running `uname` command
at scala.sys.package$.error(package.scala:27) ~[scala-library-2.13.13.jar:na]
at com.github.sbt.jni.syntax.NativeLoader$.liftedTree1$1(NativeLoader.scala:21) ~[sbt-jni-core_3-1.7.0.jar:1.7.0]
at com.github.sbt.jni.syntax.NativeLoader$.loadPackaged$1(NativeLoader.scala:22) ~[sbt-jni-core_3-1.7.0.jar:1.7.0]
at com.github.sbt.jni.syntax.NativeLoader$.load$1(NativeLoader.scala:56) ~[sbt-jni-core_3-1.7.0.jar:1.7.0]
at com.github.sbt.jni.syntax.NativeLoader$.load(NativeLoader.scala:59) ~[sbt-jni-core_3-1.7.0.jar:1.7.0]
at com.github.sbt.jni.syntax.NativeLoader.<init>(NativeLoader.scala:6) ~[sbt-jni-core_3-1.7.0.jar:1.7.0]
at io.pdal.Pipeline$.<init>(Pipeline.scala:50) ~[pdal_3-2.7.0.jar:2.7.0]
at io.pdal.Pipeline$.<clinit>(Pipeline.scala:50) ~[pdal_3-2.7.0.jar:2.7.0]
at io.pdal.Pipeline.<init>(Pipeline.scala:30) ~[pdal_3-2.7.0.jar:2.7.0]
at io.pdal.Pipeline.<init>(Pipeline.scala:33) ~[pdal_3-2.7.0.jar:2.7.0]
at com.lidarapidemo.lidarprocessing.LidarProcessor.streamPointCloudPostgis(LidarProcessor.java:100) ~[classes/:na]
at com.lidarapidemo.controllers.LidarController.lambda$pointsInBoundingBox$0(LidarController.java:39) ~[classes/:na]
at org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBodyReturnValueHandler$StreamingResponseBodyTask.call(StreamingResponseBodyReturnValueHandler.java:110) ~[spring-webmvc-6.1.11.jar:6.1.11]
at org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBodyReturnValueHandler$StreamingResponseBodyTask.call(StreamingResponseBodyReturnValueHandler.java:97) ~[spring-webmvc-6.1.11.jar:6.1.11]
at org.springframework.web.context.request.async.WebAsyncManager.lambda$startCallableProcessing$4(WebAsyncManager.java:348) ~[spring-web-6.1.11.jar:6.1.11]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
Upvotes: -1
Views: 79
Reputation: 4044
To summarize the comments: the library that you are using is not feasible for the operating system you run the program on.
uname
is a program that exists on Unix (therefore also on Linux and MacOS), but not on Windows.
So running your program on Windows is expected to fail.
Upvotes: 1