I also routinely build all branches of hbase on an apple M3, using hadoop3, and Java 11+. I believe I’ve also built with java8 at some point, but don’t quote me on that because we largely don’t use java8 at my company.
On Tue, Apr 30, 2024 at 4:48 PM Wei-Chiu Chuang <weic...@apache.org> wrote: > I am on Apple M3, checked out HBase master branch, > my JDK is Zulu 1.8.0_392 and Maven 3.9.6. > > I am able to build without modifying HBase code. > > On Tue, Apr 30, 2024 at 1:39 PM Mihir Monani <monani.mi...@gmail.com> > wrote: > > > Also I tried the build with OpenJDK 8 aarchx64 JDK version and x64 JDK > > version, and it fails for both of them. > > > > If I explicitly add dependency for hbase-common/pom.xml, then it passes > for > > hbase-common. > > > > *diff --git a/hbase-common/pom.xml b/hbase-common/pom.xml* > > > > *index 0723298926..348c3a4bd4 100644* > > > > *--- a/hbase-common/pom.xml* > > > > *+++ b/hbase-common/pom.xml* > > > > @@ -93,6 +93,10 @@ > > > > <groupId>io.opentelemetry</groupId> > > > > <artifactId>opentelemetry-api</artifactId> > > > > </dependency> > > > > + <dependency> > > > > + <groupId>io.opentelemetry</groupId> > > > > + <artifactId>opentelemetry-context</artifactId> > > > > + </dependency> > > > > <dependency> > > > > <groupId>io.opentelemetry</groupId> > > > > <artifactId>opentelemetry-semconv</artifactId> > > > > It still fails for hbase-server package with below error > > > > [*INFO*] Apache HBase - Server .............................. > > *FAILURE* [ 0.455 > > s] > > > > [*INFO*] > > > *------------------------------------------------------------------------* > > > > [*INFO*] *BUILD FAILURE* > > > > [*INFO*] > > > *------------------------------------------------------------------------* > > > > [*INFO*] Total time: 01:32 min > > > > [*INFO*] Finished at: 2024-04-30T13:31:54-07:00 > > > > [*INFO*] > > > *------------------------------------------------------------------------* > > > > [*ERROR*] Failed to execute goal > > org.apache.maven.plugins:maven-antrun-plugin:3.1.0:run *(generate)* on > > project hbase-server: *An Ant BuildException has occured: > > java.lang.NoClassDefFoundError: javax/el/ELException* > > > > [*ERROR*] *around Ant part ...<jspcompiler > uriroot="${src.webapps}/master" > > outputdir="${generated.sources}/java" > > package="org.apache.hadoop.hbase.generated.master" > > webxml="${build.webapps}/master/WEB-INF/web.xml" />... @ 17:190 in > > > > > /Users/mmonani/git/sfdc/bigdata-packaging/hbase/hbase-server/target/antrun/build-main.xml*: > > javax.el.ELException > > > > [*ERROR*] -> *[Help 1]* > > > > > > > > Does anyone have any issues with Apple Silicon MacBook M1/M3 ? > > > > On Tue, Apr 30, 2024 at 11:30 AM Mihir Monani <monani.mi...@gmail.com> > > wrote: > > > > > If I add *io.opentelemetry:opentelemetry-context* as dependency in > > > hbase-common/pom.xml, it works fine. > > > > > > I am more confused on why this works with Intel MacBook but doesn't > work > > > with M1/M3 MacBook. > > > > > > On Tue, Apr 30, 2024 at 11:28 AM Mihir Monani <monani.mi...@gmail.com> > > > wrote: > > > > > >> Hi > > >> > > >> I am trying to build hbase (mvn clean install -DskipTests) and it > fails > > >> with the below error in hbase-common package. (Maven version : 3.8.8, > > Java > > >> Version : JDK openjdk version "1.8.0_401") > > >> > > >> [*ERROR*] Failed to execute goal > > >> org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile > > >> *(default-compile)* on project hbase-common: *Compilation failure*: > > >> Compilation failure: > > >> > > >> [*ERROR*] > > >> > > > /Users/mmonani/git/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/trace/TraceUtil.java:[25,32] > > >> package io.opentelemetry.context does not exist > > >> > > >> [*ERROR*] > > >> > > > /Users/mmonani/git/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/trace/TraceUtil.java:[26,32] > > >> package io.opentelemetry.context does not exist > > >> > > >> [*ERROR*] > > >> > > > /Users/mmonani/git/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/trace/TraceUtil.java:[67,52] > > >> cannot find symbol > > >> > > >> [*ERROR*] symbol: class Context > > >> > > >> [*ERROR*] location: class org.apache.hadoop.hbase.trace.TraceUtil > > >> > > >> [*ERROR*] > > >> > > > /Users/mmonani/git/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/trace/HFileContextAttributesBuilderConsumer.java:[29,32] > > >> package io.opentelemetry.context does not exist > > >> > > >> [*ERROR*] > > >> > > > /Users/mmonani/git/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/trace/HFileContextAttributesBuilderConsumer.java:[56,23] > > >> cannot find symbol > > >> > > >> [*ERROR*] symbol: class ContextKey > > >> > > >> [*ERROR*] location: class > > >> org.apache.hadoop.hbase.io > > .hfile.trace.HFileContextAttributesBuilderConsumer > > >> > > >> [*ERROR*] > > >> > > > /Users/mmonani/git/apache/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/io/util/BlockIOUtils.java:[421,55] > > >> cannot find symbol > > >> > > >> When I checked dependency tree difference for hbase-common package, > > Apple > > >> Silicon Mac doesn't download io.opentelemetry:opentelemetry-context > > while > > >> Intel Mac downloads it as sub dependency > > >> of io.opentelemetry:opentelemetry-api > > >> > > >> Any suggestions on how to fix this? > > >> > > >> Mihir > > >> > > > > > > > > > -- > > > Mihir Monani > > > (+1)-415-309-6297 > > > > > > > > > -- > > Mihir Monani > > (+1)-415-309-6297 > > >