Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User Interface build assumes x86 architecture - fails on raspberry pi (arm64) #2340

Closed
planetf1 opened this issue Jan 2, 2020 · 3 comments
Closed
Assignees
Labels
build-failure High Priority - a build is failing
Milestone

Comments

@planetf1
Copy link
Member

planetf1 commented Jan 2, 2020

When attempting to build egeria on raspbian (raspberry pi) the build fails at

[INFO] Downloading https://nodejs.org/dist/v10.12.0/node-v10.12.0-linux-x86.tar.gz to /home/pi/.m2/repository/com/github/eirslett/node/10.12.0/node-10.12.0-linux-x86.tar.gz
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.8.0:install-node-and-npm (install node and npm) on project ui-chassis-spring: Could not download Node.js: Got error code 404 from the server. -> [Help 1]

I'm unsure why the 404. HOWEVER it demonstrates that the code is not detecting the system architecture to pull the correct binary. It may not be x86, more likely x86_64, perhaps or s390x, ppc - there are many other architectures which the rest of our code will run on. This may be an issue on windows too (which supports x86, x86_64 and arm64)

This issue is caused by deficiencies in the maven frontend plugin - see for example eirslett/frontend-maven-plugin#839

From https://github.com/eirslett/frontend-maven-plugin/blob/master/frontend-plugin-core/src/main/java/com/github/eirslett/maven/plugins/frontend/lib/Platform.java it appears that armv71 should be supported, needs a little further investigation

ie on pi

Linux pi4 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux

We should try and maintain as much platform neutrality as possible - the mitigation is to simply skip the UI (mvn clean install -DskipUI) but it would be useful to fix this - and check on other platforms

@planetf1 planetf1 added the build-failure High Priority - a build is failing label Jan 2, 2020
@planetf1 planetf1 added this to the 2020.01 (1.4) milestone Jan 2, 2020
@planetf1 planetf1 self-assigned this Jan 2, 2020
@planetf1
Copy link
Member Author

planetf1 commented Jan 2, 2020

see also eirslett/frontend-maven-plugin#715

@planetf1
Copy link
Member Author

planetf1 commented Jan 2, 2020

May be fixed in 1.9.0 -> eirslett/frontend-maven-plugin#809

@planetf1
Copy link
Member Author

planetf1 commented Jan 9, 2020

As anticipated, this was fixed by the update in #2354

I am now able to build egeria (mvn clean install) on a raspberry pi4 using stretch, including all unit tests and FVTs. No special config is needed - ie no different to other unix platforms - install the jdk, maven, kit - though it is a lot slower (cpu & I/O)

The server chassis starts & seems to work properly (not thoroughly tested)
The UI launches cleanly - and intriguingly exhibits the same issue as #2350 perhaps confirming the issue isn't so much containers, as platform (official build=fail, pi=fail - both are linux not mac)

Will return to this platform in future issues/PRs..

Closing as fixed for now.

@planetf1 planetf1 closed this as completed Jan 9, 2020
@planetf1 planetf1 changed the title User Interface build assumes x86 architecture (linux) User Interface build assumes x86 architecture - fails on raspberry pi (arm64) Jan 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build-failure High Priority - a build is failing
Projects
None yet
Development

No branches or pull requests

1 participant