Hi,
i try to run the burstcoin-jminer-0.4.4-SNAPSHOT.jar on my Odroid XU4 (ARM-) device and got some problems. Maybe someone can help me with it.
On my odroid i install OPENCL1.2 and Java8. When i try to run the jminer 0.4.4-SNAPSHOT as it can be downloaded here (https://github.com/de-luxe/burstcoin-jminer/releases/tag/0.4.4-SNAPSHOT) and start it i get the following Error-message:
11:16:02.925 [main] INFO burstcoin.jminer.JMinerApplication - Starting the engines ... please wait!
2016-08-05 11:16:07.249 WARN 4956 --- [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'OCLChecker': Invocation of init method failed; nested exception is java.lang.UnsatisfiedLinkError: Error while loading native library "JOCL_0_1_9-linux-arm" with base name "JOCL_0_1_9"
Operating system name: Linux
Architecture : arm
Architecture bit size: 32
---(start of nested stack traces)---
...
...
...
So it means JOCL_0.1.9 isn´t supported for ARM by the jminer.
After seeing this i get in contact with @luxe and try build JOCL for ARM from source. Unfortunately i only succeeded with JOCL in version
*JOCL_0_2_0-linux-arm -> https://github.com/gpu/JOCL/releases/tag/2.0.0-RC00
*JOCL_0_2_1-linux-arm -> https://github.com/gpu/JOCL
So i was not able to build JOCL_0_1_9, but i could make the jocl-2.0.0-SNAPSHOT.jar and jocl-2.0.1-SNAPSHOT.jar within the according native library "libJOCL_2_0_0-linux-arm.so".
After i got the jocl-2.0.0-SNAPSHOT.jar and jocl-2.0.1-SNAPSHOT.jar, i add them to the burstcoin-jminer-0.4.4-SNAPSHOT.jar and run the program.
Now i got the following Error-message with both of them:
11:17:38.321 [main] INFO burstcoin.jminer.JMinerApplication - Starting the engines ... please wait!
2016-08-05 11:17:42.694 INFO 5142 --- [ main] burstcoin.jminer.core.CoreProperties : Winner and PoolInfo feature disabled, property 'walletServer' undefined!
2016-08-05 11:17:42.843 INFO 5142 --- [ main] b.jminer.core.checker.util.OCLChecker : -------------------------------------------------------
2016-08-05 11:17:42.843 INFO 5142 --- [ main] b.jminer.core.checker.util.OCLChecker : List of system openCL platforms and devices (* = used for mining)
2016-08-05 11:17:42.843 INFO 5142 --- [ main] b.jminer.core.checker.util.OCLChecker :
2016-08-05 11:17:42.851 INFO 5142 --- [ main] b.jminer.core.checker.util.OCLChecker : * PLATFORM-[0] ARM Platform
2016-08-05 11:17:42.852 INFO 5142 --- [ main] b.jminer.core.checker.util.OCLChecker : OpenCL 1.2 v1.r9p0-05rel0.816303d14b549c8bed2bad5983436ff4
2016-08-05 11:17:42.870 INFO 5142 --- [ main] b.jminer.core.checker.util.OCLChecker : DEVICE-[0] Mali-T628 (0GB) - ARM
2016-08-05 11:17:42.870 INFO 5142 --- [ main] b.jminer.core.checker.util.OCLChecker : OpenCL 1.2 v1.r9p0-05rel0.816303d14b549c8bed2bad5983436ff4 | '1.2'
2016-08-05 11:17:42.873 INFO 5142 --- [ main] b.jminer.core.checker.util.OCLChecker : work group size '256', computing units '4', available 'true'
2016-08-05 11:17:42.873 INFO 5142 --- [ main] b.jminer.core.checker.util.OCLChecker : * DEVICE-[1] Mali-T628 (0GB) - ARM
2016-08-05 11:17:42.874 INFO 5142 --- [ main] b.jminer.core.checker.util.OCLChecker : OpenCL 1.2 v1.r9p0-05rel0.816303d14b549c8bed2bad5983436ff4 | '1.2'
2016-08-05 11:17:42.874 INFO 5142 --- [ main] b.jminer.core.checker.util.OCLChecker : work group size '256', computing units '2', available 'true'
2016-08-05 11:17:42.929 WARN 5142 --- [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'OCLChecker': Invocation of init method failed; nested exception is org.jocl.CLException: CL_INVALID_BUILD_OPTIONS
2016-08-05 11:17:42.947 ERROR 5142 --- [ main] o.s.boot.SpringApplication : Application startup failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'OCLChecker': Invocation of init method failed; nested exception is org.jocl.CLException: CL_INVALID_BUILD_OPTIONS
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:408) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) ~[spring-context-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) ~[spring-context-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766) ~[spring-boot-1.3.3.RELEASE.jar!/:1.3.3.RELEASE]
at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361) ~[spring-boot-1.3.3.RELEASE.jar!/:1.3.3.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-1.3.3.RELEASE.jar!/:1.3.3.RELEASE]
at burstcoin.jminer.JMinerApplication.main(JMinerApplication.java:60) [burstcoin-jminer-0.4.4-SNAPSHOT.jar!/:0.4.4-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54) [burstcoin-jminer-0.4.4-SNAPSHOT.jar!/:0.4.4-SNAPSHOT]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
Caused by: org.jocl.CLException: CL_INVALID_BUILD_OPTIONS
at org.jocl.CL.clBuildProgram(CL.java:11252) ~[burstcoin-jminer-0.4.4-SNAPSHOT.jar!/:0.4.4-SNAPSHOT]
at burstcoin.jminer.core.checker.util.OCLChecker.initChecker(OCLChecker.java:132) ~[burstcoin-jminer-0.4.4-SNAPSHOT.jar!/:0.4.4-SNAPSHOT]
at burstcoin.jminer.core.checker.util.OCLChecker.postConstruct(OCLChecker.java:82) ~[burstcoin-jminer-0.4.4-SNAPSHOT.jar!/:0.4.4-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:354) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:305) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133) ~[spring-beans-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
... 21 common frames omitted
So the good message is, that the GPU-Device get detectet (Mali-T628 (0GB) - ARM) on Platform 0.
I don´t know why it detects it twice on Device 0 and Device 1, but i think thats not the problem here.
The relevant Error is "Error creating bean with name 'OCLChecker': Invocation of init method failed; nested exception is org.jocl.CLException: CL_INVALID_BUILD_OPTIONS".
Now i don´t know how to handle this and maybe someone could give me an advice. As i understand it @luxe build the miner around the OpenCL-Code he get from "burstdev". Maybe some other people where involved and read this. :)