docker-clojure icon indicating copy to clipboard operation
docker-clojure copied to clipboard

Armv7 support

Open HarvsG opened this issue 2 years ago • 1 comments

Is it possible to get images that provide ARM V7 support so we can build images for the raspberry pi

HarvsG avatar May 11 '23 18:05 HarvsG

Typically we are limited by what upstream architectures are available (for what Java versions) for this, but there are at least a couple we don't yet build on that seem to be supported upstream more or less for every version we need: arm/v7 and ppc64le.

However, when attempting to build a tools-deps image on eclipse-temurin:17-jdk-jammy on arm/v7, I get this error when it attempts to run clojure:

#0 51.12 Error building classpath.
#0 51.12 java.lang.ExceptionInInitializerError
#0 51.12 	at java.base/javax.crypto.Cipher.getInstance(Cipher.java:546)
#0 51.12 	at java.base/sun.security.ssl.SSLCipher.isTransformationAvailable(SSLCipher.java:511)
#0 51.12 	at java.base/sun.security.ssl.SSLCipher.<init>(SSLCipher.java:500)
#0 51.12 	at java.base/sun.security.ssl.SSLCipher.<clinit>(SSLCipher.java:82)
#0 51.12 	at java.base/sun.security.ssl.CipherSuite.<clinit>(CipherSuite.java:65)
#0 51.12 	at java.base/sun.security.ssl.SSLContextImpl.getApplicableSupportedCipherSuites(SSLContextImpl.java:343)
#0 51.12 	at java.base/sun.security.ssl.SSLContextImpl$AbstractTLSContext.<clinit>(SSLContextImpl.java:556)
#0 51.12 	at java.base/java.lang.Class.forName0(Native Method)
#0 51.12 	at java.base/java.lang.Class.forName(Class.java:375)
#0 51.12 	at java.base/java.security.Provider$Service.getImplClass(Provider.java:1933)
#0 51.12 	at java.base/java.security.Provider$Service.getDefaultConstructor(Provider.java:1964)
#0 51.12 	at java.base/java.security.Provider$Service.newInstanceOf(Provider.java:1878)
#0 51.12 	at java.base/java.security.Provider$Service.newInstanceUtil(Provider.java:1886)
#0 51.12 	at java.base/java.security.Provider$Service.newInstance(Provider.java:1861)
#0 51.12 	at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:236)
#0 51.12 	at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
#0 51.12 	at java.base/javax.net.ssl.SSLContext.getInstance(SSLContext.java:185)
#0 51.13 	at java.base/javax.net.ssl.SSLContext.getDefault(SSLContext.java:110)
#0 51.13 	at java.base/javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:83)
#0 51.13 	at org.eclipse.aether.transport.http.GlobalState.newConnectionManager(GlobalState.java:190)
#0 51.13 	at org.eclipse.aether.transport.http.GlobalState.getConnectionManager(GlobalState.java:163)
#0 51.13 	at org.eclipse.aether.transport.http.LocalState.<init>(LocalState.java:69)
#0 51.13 	at org.eclipse.aether.transport.http.HttpTransporter.<init>(HttpTransporter.java:151)
#0 51.13 	at org.eclipse.aether.transport.http.HttpTransporterFactory.newInstance(HttpTransporterFactory.java:104)
#0 51.13 	at org.eclipse.aether.internal.impl.DefaultTransporterProvider.newTransporter(DefaultTransporterProvider.java:107)
#0 51.13 	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.<init>(BasicRepositoryConnector.java:137)
#0 51.13 	at org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory.newInstance(BasicRepositoryConnectorFactory.java:185)
#0 51.13 	at org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider.newRepositoryConnector(DefaultRepositoryConnectorProvider.java:109)
#0 51.13 	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:518)
#0 51.13 	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:408)
#0 51.13 	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:235)
#0 51.13 	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:212)
#0 51.13 	at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:240)
#0 51.13 	at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:171)
#0 51.13 	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.readArtifactDescriptor(DefaultRepositorySystem.java:263)
#0 51.13 	at clojure.tools.deps.extensions.maven$read_descriptor.invokeStatic(maven.clj:115)
#0 51.13 	at clojure.tools.deps.extensions.maven$fn__1164.invokeStatic(maven.clj:143)
#0 51.13 	at clojure.tools.deps.extensions.maven$fn__1164.invoke(maven.clj:143)
#0 51.13 	at clojure.lang.MultiFn.invoke(MultiFn.java:244)
#0 51.13 	at clojure.tools.deps$expand_deps$children_task__773$fn__775$fn__776.invoke(deps.clj:405)
#0 51.13 	at clojure.tools.deps.util.concurrent$submit_task$task__481.invoke(concurrent.clj:35)
#0 51.13 	at clojure.lang.AFn.call(AFn.java:18)
#0 51.13 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
#0 51.13 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
#0 51.13 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
#0 51.13 	at java.base/java.lang.Thread.run(Thread.java:833)
#0 51.13 Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism
#0 51.13 	at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:119)
#0 51.13 	... 46 more
#0 51.13 Caused by: java.lang.SecurityException: Couldn't iterate through the jurisdiction policy files: unlimited
#0 51.13 	at java.base/javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:372)
#0 51.13 	at java.base/javax.crypto.JceSecurity$1.run(JceSecurity.java:110)
#0 51.13 	at java.base/javax.crypto.JceSecurity$1.run(JceSecurity.java:107)
#0 51.13 	at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
#0 51.13 	at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:106)
#0 51.13 	... 46 more

cap10morgan avatar May 11 '23 19:05 cap10morgan