You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, first of all, nice of for building this tool. I hope I can get it to work for me as automating the rendering of my sweet home plans may save me a lot of time!
I wanted to use Docker though for this. I feel like I'm close but not quite managed to get it working.
Create a new folder then touch Dockerfile and paste the following in it:
FROM ubuntu:20.04
ENV DISPLAY :10
ENV DEBIAN_FRONTEND=noninteractive
WORKDIR sweet-home-3d-headless-batch
RUN apt update -y && \
apt install -y git \
imagemagick \
default-jdk \
software-properties-common \
unzip \
curl \
xvfb
RUN git clone https://github.com/tkvw/groovy.sh3d.bsr groovy-sh3d-bsr
WORKDIR ./groovy-sh3d-bsr
RUN chmod u+x ./gradlew && ./gradlew && ./gradlew prepare
ENTRYPOINT ls -l data && cp ./data/* . && ./gradlew runApp -Pconfig=./home-headless-batch-rendering.yaml
Then build the image with
docker build -t sweet-home-3d-headless-batch .
I've created the sh3d file and the necessary yaml file for this project to work in order to test it: data.zip
Download the zip file and stick the 2 files in a folder called data for example.
Then run from the folder containing data:
docker run -it --rm -v $(pwd)/data:/sweet-home-3d-headless-batch/groovy-sh3d-bsr/data sweet-home-3d-headless-batch:latest
Main error:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /sweet-home-3d-headless-batch/groovy-sh3d-bsr/natives/linux-amd64//libgluegen-rt.so
Here's the full stacktrace:
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
> Task :runApp
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/root/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy/groovy/2.5.11/4d8f25c5da08af46fb204fd493ec894699a3f4e8/groovy-2.5.11.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Render picture room_1_on_room_2_off of scenario dawn to /sweet-home-3d-headless-batch/groovy-sh3d-bsr/images/dawn/room_1_on_room_2_off.png
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /sweet-home-3d-headless-batch/groovy-sh3d-bsr/natives/linux-amd64//libgluegen-rt.so
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2630)
at java.base/java.lang.Runtime.load0(Runtime.java:768)
at java.base/java.lang.System.load(System.java:1837)
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:624)
at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:63)
at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:106)
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:487)
at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:421)
at com.jogamp.common.os.Platform$1.run(Platform.java:317)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at com.jogamp.common.os.Platform.<clinit>(Platform.java:287)
at com.jogamp.opengl.GLProfile.<clinit>(GLProfile.java:147)
at jogamp.opengl.ThreadingImpl$1.run(ThreadingImpl.java:83)
at jogamp.opengl.ThreadingImpl$1.run(ThreadingImpl.java:66)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at jogamp.opengl.ThreadingImpl.<clinit>(ThreadingImpl.java:66)
at com.jogamp.opengl.Threading.disableSingleThreading(Threading.java:164)
at javax.media.j3d.JoglPipeline.initialize(JoglPipeline.java:129)
at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:92)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:858)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:267)
at javax.media.j3d.GroupRetained.<init>(GroupRetained.java:155)
at javax.media.j3d.BranchGroupRetained.<init>(BranchGroupRetained.java:50)
at javax.media.j3d.BranchGroup.createRetained(BranchGroup.java:72)
at javax.media.j3d.SceneGraphObject.<init>(SceneGraphObject.java:114)
at javax.media.j3d.Node.<init>(Node.java:172)
at javax.media.j3d.Group.<init>(Group.java:551)
at javax.media.j3d.BranchGroup.<init>(BranchGroup.java:63)
at com.eteks.sweethome3d.j3d.Object3DBranch.<init>(Unknown Source)
at com.eteks.sweethome3d.j3d.Wall3D.<init>(Unknown Source)
at com.eteks.sweethome3d.j3d.Object3DBranchFactory.createObject3D(Unknown Source)
at com.eteks.sweethome3d.j3d.PhotoRenderer$PhotoObject3DFactory.createObject3D(Unknown Source)
at com.eteks.sweethome3d.j3d.PhotoRenderer.<init>(Unknown Source)
at com.eteks.sweethome3d.j3d.PhotoRenderer.<init>(Unknown Source)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:237)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:257)
at nl.tkvw.sh3d.bsr.App$_run_closure3$_closure4.doCall(App.groovy:100)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
at groovy.lang.Closure.call(Closure.java:405)
at groovy.lang.Closure.call(Closure.java:421)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2330)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2315)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2356)
at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
at nl.tkvw.sh3d.bsr.App$_run_closure3.doCall(App.groovy:56)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
at groovy.lang.Closure.call(Closure.java:405)
at groovy.lang.Closure.call(Closure.java:421)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2330)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2315)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2356)
at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
at nl.tkvw.sh3d.bsr.App.run(App.groovy:52)
at nl.tkvw.sh3d.bsr.App$run.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
at nl.tkvw.sh3d.bsr.App.main(App.groovy:31)
> Task :runApp FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':runApp'.
> Process 'command '/usr/lib/jvm/java-11-openjdk-amd64/bin/java'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 30s
2 actionable tasks: 2 executed
Any idea about how to solve this so I can run your project in a Docker image? :)
Regards,
Maxime
The text was updated successfully, but these errors were encountered:
Hello, first of all, nice of for building this tool. I hope I can get it to work for me as automating the rendering of my sweet home plans may save me a lot of time!
I wanted to use Docker though for this. I feel like I'm close but not quite managed to get it working.
Create a new folder then
touch Dockerfile
and paste the following in it:Then build the image with
I've created the sh3d file and the necessary yaml file for this project to work in order to test it:
data.zip
Download the zip file and stick the 2 files in a folder called data for example.
Then run from the folder containing
data
:Main error:
Here's the full stacktrace:
Any idea about how to solve this so I can run your project in a Docker image? :)
Regards,
Maxime
The text was updated successfully, but these errors were encountered: