Presto: [build]: Error while building presto-server-rpm

Created on 13 May 2020  ·  9Comments  ·  Source: prestosql/presto

Hi,

While building the current master on my macOS Catalina 10.15.4 I received the following error:

[ERROR] Failed to execute goal io.airlift.maven.plugins:redlinerpm-maven-plugin:2.1.6:package
(default-package) on project presto-server-rpm: Execution default-package of goal 
io.airlift.maven.plugins:redlinerpm-maven-plugin:2.1.6:package failed: An API incompatibility 
was encountered while executing io.airlift.maven.plugins:redlinerpm-maven-plugin:2.1.6:package:

 java.lang.ExceptionInInitializerError: null
[ERROR] -----------------------------------------------------
[ERROR] realm =    extension>io.airlift.maven.plugins:redlinerpm-maven-plugin:2.1.6
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/Users/brakmic/.m2/repository/io/airlift/maven/plugins/redlinerpm-maven-plugin/2.1.6/redlinerpm-maven-plugin-2.1.6.jar
[ERROR] urls[1] = file:/Users/brakmic/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar
[ERROR] urls[2] = file:/Users/brakmic/.m2/repository/com/google/guava/guava/10.0.1/guava-10.0.1.jar
[ERROR] urls[3] = file:/Users/brakmic/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
[ERROR] urls[4] = file:/Users/brakmic/.m2/repository/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar
[ERROR] urls[5] = file:/Users/brakmic/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[ERROR] urls[6] = file:/Users/brakmic/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.jar
[ERROR] urls[7] = file:/Users/brakmic/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
[ERROR] urls[8] = file:/Users/brakmic/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[9] = file:/Users/brakmic/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[10] = file:/Users/brakmic/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.17/plexus-utils-3.0.17.jar
[ERROR] urls[11] = file:/Users/brakmic/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.jar
[ERROR] urls[12] = file:/Users/brakmic/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
[ERROR] urls[13] = file:/Users/brakmic/.m2/repository/com/teradata/redline-td/1.2.2.1/redline-td-1.2.2.1.jar
[ERROR] urls[14] = file:/Users/brakmic/.m2/repository/org/apache/commons/commons-compress/1.6/commons-compress-1.6.jar
[ERROR] urls[15] = file:/Users/brakmic/.m2/repository/org/tukaani/xz/1.4/xz-1.4.jar
[ERROR] urls[16] = file:/Users/brakmic/.m2/repository/org/bouncycastle/bcpg-jdk15on/1.50/bcpg-jdk15on-1.50.jar
[ERROR] urls[17] = file:/Users/brakmic/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.50/bcprov-jdk15on-1.50.jar
[ERROR] urls[18] = file:/Users/brakmic/.m2/repository/org/apache/ant/ant/1.9.4/ant-1.9.4.jar
[ERROR] urls[19] = file:/Users/brakmic/.m2/repository/org/apache/ant/ant-launcher/1.9.4/ant-launcher-1.9.4.jar
[ERROR] urls[20] = file:/Users/brakmic/.m2/repository/org/mvel/mvel2/2.2.6.Final/mvel2-2.2.6.Final.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR] : begin 0, end 3, length 2
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :presto-server-rpm

As I am new to Presto, my first thought was to simply disable compilation of this plugin in pom.xml, because RPM sounds more like Linux than macOS. And indeed, it worked and I could compile the rest.

I'm not sure if I would ever need it (maybe for some remote access on Linux boxes?), but maybe the error is of general interest.

Regards,

Most helpful comment

@brakmic although we compile code on CI with Java 14, I am still using Java 11 locally.
Can you install eg brew cask install zulu11 and try with that?

All 9 comments

What version of Maven are you using? Make sure you are using the latest, 3.6.3. You can also use ./mvnw instead of your locally installed version.

brew info maven
maven: stable 3.6.3
Java-based project management
https://maven.apache.org/
Conflicts with:
  mvnvm (because also installs a 'mvn' executable)
/usr/local/Cellar/maven/3.6.3_1 (87 files, 10.7MB) *
  Built from source on 2020-05-12 at 23:14:21
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/maven.rb
==> Dependencies
Required: openjdk ✔
==> Analytics
install: 38,594 (30 days), 137,038 (90 days), 568,240 (365 days)
install-on-request: 37,308 (30 days), 131,364 (90 days), 540,456 (365 days)
build-error: 0 (30 days)

@brakmic please provide output of

./mvnw --version

and last portion of:

./mvnw clean install -DskipTests
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/brakmic/.m2/wrapper/dists/apache-maven-3.6.3-bin/lm9vem38rfmjij3jj0mk5bvnt/apache-maven-3.6.3
Java version: 14, vendor: AdoptOpenJDK, runtime: /Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home
Default locale: en_DE, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.4", arch: "x86_64", family: "mac"
[ERROR] Failed to execute goal io.airlift.maven.plugins:redlinerpm-maven-plugin:2.1.6:package (default-package) on project presto-server-rpm: Execution default-package of goal io.airlift.maven.plugins:redlinerpm-maven-plugin:2.1.6:package failed: An API incompatibility was encountered while executing io.airlift.maven.plugins:redlinerpm-maven-plugin:2.1.6:package: java.lang.ExceptionInInitializerError: null
[ERROR] -----------------------------------------------------
[ERROR] realm =    extension>io.airlift.maven.plugins:redlinerpm-maven-plugin:2.1.6
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/Users/brakmic/.m2/repository/io/airlift/maven/plugins/redlinerpm-maven-plugin/2.1.6/redlinerpm-maven-plugin-2.1.6.jar
[ERROR] urls[1] = file:/Users/brakmic/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar
[ERROR] urls[2] = file:/Users/brakmic/.m2/repository/com/google/guava/guava/10.0.1/guava-10.0.1.jar
[ERROR] urls[3] = file:/Users/brakmic/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
[ERROR] urls[4] = file:/Users/brakmic/.m2/repository/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar
[ERROR] urls[5] = file:/Users/brakmic/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[ERROR] urls[6] = file:/Users/brakmic/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.jar
[ERROR] urls[7] = file:/Users/brakmic/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
[ERROR] urls[8] = file:/Users/brakmic/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[9] = file:/Users/brakmic/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[10] = file:/Users/brakmic/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.17/plexus-utils-3.0.17.jar
[ERROR] urls[11] = file:/Users/brakmic/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.jar
[ERROR] urls[12] = file:/Users/brakmic/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
[ERROR] urls[13] = file:/Users/brakmic/.m2/repository/com/teradata/redline-td/1.2.2.1/redline-td-1.2.2.1.jar
[ERROR] urls[14] = file:/Users/brakmic/.m2/repository/org/apache/commons/commons-compress/1.6/commons-compress-1.6.jar
[ERROR] urls[15] = file:/Users/brakmic/.m2/repository/org/tukaani/xz/1.4/xz-1.4.jar
[ERROR] urls[16] = file:/Users/brakmic/.m2/repository/org/bouncycastle/bcpg-jdk15on/1.50/bcpg-jdk15on-1.50.jar
[ERROR] urls[17] = file:/Users/brakmic/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.50/bcprov-jdk15on-1.50.jar
[ERROR] urls[18] = file:/Users/brakmic/.m2/repository/org/apache/ant/ant/1.9.4/ant-1.9.4.jar
[ERROR] urls[19] = file:/Users/brakmic/.m2/repository/org/apache/ant/ant-launcher/1.9.4/ant-launcher-1.9.4.jar
[ERROR] urls[20] = file:/Users/brakmic/.m2/repository/org/mvel/mvel2/2.2.6.Final/mvel2-2.2.6.Final.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR] : begin 0, end 3, length 2
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :presto-server-rpm

@brakmic although we compile code on CI with Java 14, I am still using Java 11 locally.
Can you install eg brew cask install zulu11 and try with that?

@brakmic although we compile code on CI with Java 14, I am still using Java 11 locally.
Can you install eg brew cask install zulu11 and try with that?

It seems, the cask isn't available.

Error: Cask 'zulu11' is unavailable: No Cask with this name exists.

--EDIT: maybe I should try to tap this cask. Will try again.

--EDIT2: this seems to be working:

brew cask install homebrew/cask-versions/zulu11

brew installed zulu11 but I am unable to find it / access it. I think I should rather download the package and install it manually.

brew cask install homebrew/cask-versions/zulu11                                                                                                (5s 272ms) │
==> Tapping homebrew/cask-versions
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-versions'...
remote: Enumerating objects: 59, done.
remote: Counting objects: 100% (59/59), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 226035 (delta 32), reused 14 (delta 10), pack-reused 225976
Receiving objects: 100% (226035/226035), 58.33 MiB | 4.11 MiB/s, done.
Resolving deltas: 100% (155487/155487), done.
Tapped 151 casks (199 files, 64.6MB).
==> Downloading https://cdn.azul.com/zulu/bin/zulu11.39.15-ca-jdk11.0.7-macosx_x64.dmg
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'zulu11'.
==> Installing Cask zulu11
==> Running installer for zulu11; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
Password:
installer: Package name is Zulu 11.39+15
installer: Installing at base path /
installer: The install was successful.
🍺  zulu11 was successfully installed!

--EDIT: It's also quite funny to read "double-click to install" in a console info of a brew package.

Found a cask named "homebrew/cask-versions/zulu11" instead.

zulu11: 11.0.7,11.39.15-ca
https://www.azul.com/downloads/zulu/zulu-mac/
/usr/local/Caskroom/zulu11/11.0.7,11.39.15-ca (2 files, 185.4MB)
From: https://github.com/Homebrew/homebrew-cask-versions/blob/master/Casks/zulu11.rb
==> Name
Azul Zulu Java Standard Edition Development Kit
==> Artifacts
Double-Click to Install Zulu 11.pkg (Pkg)

--EDIT 2: now, after I have installed this weird package, I will restart the compilation.

set -x JAVA_HOME /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home                                                                   (1s 354ms) │
java --version                                                                                                                                            │
openjdk 11.0.7 2020-04-14 LTS
OpenJDK Runtime Environment Zulu11.39+15-CA (build 11.0.7+10-LTS)
OpenJDK 64-Bit Server VM Zulu11.39+15-CA (build 11.0.7+10-LTS, mixed mode)

It worked with zulu11.

[INFO] presto-server ...................................... SUCCESS [ 49.958 s]
[INFO] presto-server-rpm .................................. SUCCESS [ 58.334 s]
[INFO] presto-docs ........................................ SUCCESS [02:50 min]
[INFO] presto-verifier .................................... SUCCESS [ 12.545 s]
[INFO] presto-testing-server-launcher ..................... SUCCESS [ 17.058 s]
[INFO] presto-benchto-benchmarks .......................... SUCCESS [ 11.257 s]
[INFO] presto-proxy ....................................... SUCCESS [ 10.005 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  17:57 min
[INFO] Finished at: 2020-05-13T11:36:58+02:00
[INFO] ------------------------------------------------------------------------

Many thanks, @findepi

@brakmic thanks for letting us know!
Be sure to join the #dev channel on our slack too!

Was this page helpful?
0 / 5 - 0 ratings