Elphas Toringepi created FLINK-32142:
----------------------------------------
Summary: Apple Silicon Support: Unable to Build Flink Project due
to "Bad CPU Type" Error
Key: FLINK-32142
URL: https://issues.apache.org/jira/browse/FLINK-32142
Project: Flink
Issue Type: Bug
Components: Build System, Runtime / Web Frontend
Affects Versions: 1.15.4, 1.16.1, 1.15.3, 1.15.2, 1.17.0, 1.16.0, 1.15.1,
1.15.0, 1.16.2, 1.18.0, 1.17.1, 1.15.5, 1.16.3, 1.17.2
Environment: Apple Silicon architecture (M2 Pro)
macOS Ventura (Version 13.3.1)
Reporter: Elphas Toringepi
Fix For: 1.18.0
Attempting to build the Flink project on Apple Silicon architecture results in
an error related to the execution of the frontend-maven-plugin.
The error message indicates that the plugin fails to run
"flink/flink-runtime-web/web-dashboard/node/node" program due to a "Bad CPU
type in executable" error.
{code:java}
[ERROR] Failed to execute goal
com.github.eirslett:frontend-maven-plugin:1.11.0:npm (npm install) on project
flink-runtime-web: Failed to run task: 'npm ci --cache-max=0 --no-save
${npm.proxy}' failed. java.io.IOException: Cannot run program
"flink/flink-runtime-web/web-dashboard/node/node" (in directory
"/Users/elphas/src/flink/flink-runtime-web/web-dashboard"): error=86, Bad CPU
type in executable{code}
Steps to Reproduce:
# Clone the Flink project repository.
# Attempt to build the project on an Apple Silicon device.
# Observe the error message mentioned above.
{code:java}
git clone https://github.com/apache/flink.git
cd flink
./mvnw clean package -DskipTests=
{code}
Proposed Solution
Upgrade frontend-maven-plugin from version 1.11.0 to the latest version, 1.12.1.
frontend-maven-plugin version 1.11.0 downloads x64 binaries
node-v16.13.2-darwin-x64.tar.gz instead of the arm64 binaries.
Support for arm64 has been available for frontend-maven-plugin since version
2. https://github.com/eirslett/frontend-maven-plugin/pull/970
{code:java}
[DEBUG] Executing command line
[/Users/elphas/src/flink/flink-runtime-web/web-dashboard/node/node, --version]
[INFO] Installing node version v16.13.2 [DEBUG] Creating temporary directory
/flink/flink-runtime-web/web-dashboard/node/tmp [INFO] Unpacking
~/.m2/repository/com/github/eirslett/node/16.13.2/node-16.13.2-darwin-x64.tar.gz
into flink/flink-runtime-web/web-dashboard/node/tmp{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)