Closed

Description
1. What did you do?
We are trying to run FullNode.jar on x2gd.large ARM based instance with Amazon Corretto installed, but get the error:
# Install Amazon Corretto 8
amazon-linux-extras install corretto8
# Install Java Tron
mkdir java-tron
cd java-tron
curl -L https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.4.1/FullNode.jar -o FullNode-4.4.1.jar
curl https://raw.githubusercontent.com/tronprotocol/tron-deployment/master/main_net_config.conf -o main_net_config.conf
# Run java-tron
java -Xmx25g -XX:+UseConcMarkSweepGC -jar FullNode-4.4.1.jar -d data -c main_net_config.conf
And get the error
Exception in thread "main" java.lang.IllegalStateException: Cannot load configuration class: org.tron.core.config.DefaultConfig
at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:410)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:263)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:284)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:130)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:678)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:520)
at org.tron.program.FullNode.main(FullNode.java:76)
Caused by: java.lang.UnsatisfiedLinkError: /tmp/librocksdbjni766752390673739481.so: /tmp/librocksdbjni766752390673739481.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
at java.lang.Runtime.load0(Runtime.java:810)
at java.lang.System.load(System.java:1088)
at org.rocksdb.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:78)
at org.rocksdb.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:56)
at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:64)
at org.rocksdb.RocksDB.<clinit>(RocksDB.java:35)
at org.tron.core.config.DefaultConfig.<clinit>(DefaultConfig.java:30)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.springframework.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:397)
at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:237)
at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:378)
at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:318)
at org.springframework.context.annotation.ConfigurationClassEnhancer.createClass(ConfigurationClassEnhancer.java:135)
at org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:107)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:400)
... 6 more
2. What did you expect to see?
We should be able to run java-tron on ARM based architecture.
3. What did you see instead?
For now we are running java-tron on x86-64 architecture.
During last years Amazon WS introduced a lot of ARM based instances and they have a great performance and affordable price. Also, Apple started a movement to the ARM architecture which is actual for Developers. It will be great to have an option to run java-tron using ARM architecture.
Thank you!
Metadata
Metadata
Assignees
Labels
No labels