1

My java project is working properly on classical architecture, i.e. Von Neumann architecture. However, maven is unable to resolve dependencies on my Jetson AGX, i.e. ARM architecture. What do I need to change to compile my project on the ARM architecture? Are the corresponding packages available on maven?

The pom.xml:

    <dependencies>
        <dependency>
            <groupId>org.deeplearning4j</groupId>
            <artifactId>deeplearning4j-core</artifactId>
            <classifier>aarch64</classifier>
            <version>1.0.0-beta4</version>
        </dependency>
        <dependency>
            <groupId>org.nd4j</groupId>
            <artifactId>nd4j-native-platform</artifactId>
            <classifier>aarch64</classifier>
            <version>1.0.0-beta4</version>
        </dependency>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <classifier>aarch64</classifier>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <classifier>aarch64</classifier>
            <version>RELEASE</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jcuda</groupId>
            <artifactId>jcuda</artifactId>
            <classifier>aarch64</classifier>
            <version>10.1.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <classifier>aarch64</classifier>
            <version>RELEASE</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.esotericsoftware</groupId>
            <artifactId>kryo</artifactId>
            <classifier>aarch64</classifier>
            <version>4.0.1</version>
        </dependency>
    </dependencies>

The following error shows up:

Downloading from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/maven-metadata.xml
Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/maven-metadata.xml (1.5 kB at 577 B/s)
Downloading from central: https://repo.maven.apache.org/maven2/junit/junit/maven-metadata.xml
Downloaded from central: https://repo.maven.apache.org/maven2/junit/junit/maven-metadata.xml (1.1 kB at 2.2 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/nd4j/nd4j-native-platform/1.0.0-beta4/nd4j-native-platform-1.0.0-beta4-aarch64.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/deeplearning4j/deeplearning4j-core/1.0.0-beta4/deeplearning4j-core-1.0.0-beta4-aarch64.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-linux-aarch64.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-linux-aarch64.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/bytedeco/mkl/2019.3-1.5/mkl-2019.3-1.5-linux-aarch64.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/bytedeco/mkl-dnn/0.18.1-1.5/mkl-dnn-0.18.1-1.5-linux-aarch64.jar
Downloading from central: https://repo.maven.apache.org/maven2/javax/mail/mail/1.4/mail-1.4-aarch64.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.5.1/junit-jupiter-api-5.5.1-aarch64.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/jcuda/jcuda/10.1.0/jcuda-10.1.0-aarch64.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/jcuda/jcuda-natives/10.1.0/jcuda-natives-10.1.0-linux-aarch64.jar
Downloading from central: https://repo.maven.apache.org/maven2/junit/junit/4.13-beta-3/junit-4.13-beta-3-aarch64.jar
Downloading from central: https://repo.maven.apache.org/maven2/com/esotericsoftware/kryo/4.0.1/kryo-4.0.1-aarch64.jar
Downloading from maven-restlet: http://maven.restlet.org/org/nd4j/nd4j-native/1.0.0-beta4/nd4j-native-1.0.0-beta4-linux-aarch64.jar
Downloading from maven-restlet: http://maven.restlet.org/org/bytedeco/openblas/0.3.5-1.5/openblas-0.3.5-1.5-linux-aarch64.jar
Downloading from maven-restlet: http://maven.restlet.org/org/bytedeco/mkl-dnn/0.18.1-1.5/mkl-dnn-0.18.1-1.5-linux-aarch64.jar
Downloading from maven-restlet: http://maven.restlet.org/org/bytedeco/mkl/2019.3-1.5/mkl-2019.3-1.5-linux-aarch64.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  18.554 s
[INFO] Finished at: 2019-08-15T10:07:47+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project cnn-cpca-kwta: Could not resolve dependencies for project com.github.champib:cnn-cpca-kwta:jar:1.0-SNAPSHOT: The following artifacts could not be resolved: org.deeplearning4j:deeplearning4j-core:jar:aarch64:1.0.0-beta4, org.nd4j:nd4j-native-platform:jar:aarch64:1.0.0-beta4, org.nd4j:nd4j-native:jar:linux-aarch64:1.0.0-beta4, org.bytedeco:openblas:jar:linux-aarch64:0.3.5-1.5, org.bytedeco:mkl:jar:linux-aarch64:2019.3-1.5, org.bytedeco:mkl-dnn:jar:linux-aarch64:0.18.1-1.5, javax.mail:mail:jar:aarch64:1.4, org.junit.jupiter:junit-jupiter-api:jar:aarch64:RELEASE, org.jcuda:jcuda:jar:aarch64:10.1.0, org.jcuda:jcuda-natives:jar:linux-aarch64:10.1.0, junit:junit:jar:aarch64:RELEASE, com.esotericsoftware:kryo:jar:aarch64:4.0.1: Could not find artifact org.deeplearning4j:deeplearning4j-core:jar:aarch64:1.0.0-beta4 in central (https://repo.maven.apache.org/maven2) -> [Help 1]
Theophile Champion
  • 453
  • 1
  • 4
  • 20
  • The things which are having `aarch64` need to be defined with a classifier `aarch64` as supplemental information to the dependency. – khmarbaise Aug 15 '19 at 06:23
  • I tried to add the classifier unfortunately it does not solve my error... – Theophile Champion Aug 15 '19 at 08:14
  • 1
    You other issues in your pom file ... where you have given `RELEASE` as version ...does not work in the case of JUnit Jupiter ...there is no ` aarch64` for it...only those where you have checked that there are deps with a classifier... – khmarbaise Aug 15 '19 at 08:42
  • 1
    It seems like the JARs that are available in Maven Central do *not* include the JARs for native ARM libraries. (This seems to be the case for basically all the native bindings, but for JCuda, I can say for sure that there are no ARM binaries available. You could compile the JCuda natives on your own, but it seems like you'd also have to compile a bunch of other natives then...) – Marco13 Aug 20 '19 at 10:10

1 Answers1

0

Try removing your local m2 directory completely and run mvn clean install OR try " mvn clean install -U" command, This will force update the snapshot dependency .

learn n rock
  • 59
  • 1
  • 5