vaadin / flow

Vaadin Flow is a Java framework binding Vaadin web components to Java. This is part of Vaadin 10+.
Apache License 2.0
617 stars 167 forks source link

iltorb download architecture is based on JVM running Maven #4907

Open robeden opened 5 years ago

robeden commented 5 years ago

This issue comes from this forum post and I'm filing here at the behest of @mstahv.

Vaadin 12 failed to run its package-for-production step for me because I had a 32-bit JVM running Maven on a 64-bit system. As a result, it was trying to download the ...linux-ia32... version of iltorb rather than the 64-bit version. Instead of looking at the JVM architecture, it should look at the machine architecture to determine which to download. Or, worst case scenario: the underlying problem needs to be elevated/explained better.

Vaadin 10 built fine with that configuration so either in 11 or 12 the behavior changed.

To replicate behavior, launch maven with a 32-bit VM (mine was 1.8.0_102-i586).

For more details, see the forum post.

robeden commented 5 years ago

Here are the details of the error when it failed:

[16:19:52] :     [Step 1/2] [INFO] [1/4] Resolving packages...
[16:19:53] :     [Step 1/2] [INFO] [2/4] Fetching packages...
[16:19:53] :     [Step 1/2] [INFO] [3/4] Linking dependencies...
[16:19:53]W:     [Step 1/2] [ERROR] warning "polymer-build > polymer-project-config@3.13.0" has incorrect peer dependency "polymer-analyzer@^3.0.0-pre.17 || ^3.0.0".
[16:19:56] :     [Step 1/2] [INFO] [4/4] Building fresh packages...
[16:19:56]W:     [Step 1/2] [ERROR] error /usr/share/teamcity/2017.2.1/buildAgent/work/5ad9c95163fc061a/target/node_modules/iltorb: Command failed.
[16:19:56]W:     [Step 1/2] [ERROR] Exit code: 127
[16:19:56]W:     [Step 1/2] [ERROR] Command: node ./scripts/install.js || node-gyp rebuild
[16:19:56]W:     [Step 1/2] [ERROR] Arguments: 
[16:19:56]W:     [Step 1/2] [ERROR] Directory: /usr/share/teamcity/2017.2.1/buildAgent/work/5ad9c95163fc061a/target/node_modules/iltorb
[16:19:56]W:     [Step 1/2] [ERROR] Output:
[16:19:56]W:     [Step 1/2] [ERROR] info looking for cached prebuild @ /var/lib/teamcity_home/.npm/_prebuilds/6f8fb1-iltorb-v2.4.0-node-v57-linux-ia32.tar.gz
[16:19:56]W:     [Step 1/2] [ERROR] http request GET https://github.com/MayhemYDG/iltorb/releases/download/v2.4.0/iltorb-v2.4.0-node-v57-linux-ia32.tar.gz
[16:19:56]W:     [Step 1/2] [ERROR] http 404 https://github.com/MayhemYDG/iltorb/releases/download/v2.4.0/iltorb-v2.4.0-node-v57-linux-ia32.tar.gz
[16:19:56]W:     [Step 1/2] [ERROR] WARN install No prebuilt binaries found (target=8.11.1 runtime=node arch=ia32 platform=linux)
[16:19:56]W:     [Step 1/2] [ERROR] /bin/sh: 1: node-gyp: not found
...
[16:19:57]W:     [Step 1/2] [ERROR] Failed to execute goal com.vaadin:vaadin-maven-plugin:12.0.3:package-for-production (default) on project db2: Execution default of goal com.vaadin:vaadin-maven-plugin:12.0.3:package-for-production failed: Failed to install required frontend dependencies: 'yarn install' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
mstahv commented 5 years ago

I'm now having the same issue. If I'm doing it from my IDE, it don't work, when doing it from CLI it seems to work (although there are some nasty errors on the console output).

I'd prioritise this issue. Really weird and confusing for Vaadin users.