[
https://issues.apache.org/jira/browse/HADOOP-17723?focusedWorklogId=600741&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-600741
]
ASF GitHub Bot logged work on HADOOP-17723:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 22/May/21 02:57
Start Date: 22/May/21 02:57
Worklog Time Spent: 10m
Work Description: jojochuang commented on pull request #3037:
URL: https://github.com/apache/hadoop/pull/3037#issuecomment-846339358
Installs python2.7, and replaced the custom PhantomJS binary (which was
built for Xenial and does not run on Bionic) with the official phantomjs
package for Bionic.
Note: Yes I am aware we migrated to Python3. However, the installation of
nodejs implicitly installs python-minimal, which is python2 without lots of
packages. So python2 is installed by the ARM Docker image anyway (possibly the
x86 docker image has it too).
The official Ubuntu phantomjs has a caveat: it requires X Window.
(https://github.com/ariya/phantomjs/issues/14376#issuecomment-239687524). Add
environment var QT_QPA_PLATFORM=offscreen to make it really 'headless". If it's
not headless, the installer fails to execute phantomjs and abort.
In comparision, the x86 Dockerfile doesn't install the official Ubuntu
phantomjs package. Instead, it installs the version managed by the npm/yarn
package manager.
We need python2.7 package, because
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui installs node-gyp 3.8, which has
dependency on python2 to build. Not clear to me why the x86 Dockerfile doesn't
require it. My guess is that the node-gyp has official x86 binary so it doesn't
need to be built from source.
That's a lot of digest in this comment since it involves Docker, Ubuntu,
Maven, yarn, Python. Lots of different package managers. But at the end of it I
was able to build for ARM.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 600741)
Time Spent: 1h 50m (was: 1h 40m)
> [build] fix the Dockerfile for ARM
> ----------------------------------
>
> Key: HADOOP-17723
> URL: https://issues.apache.org/jira/browse/HADOOP-17723
> Project: Hadoop Common
> Issue Type: Bug
> Components: build
> Affects Versions: 3.3.1, 3.4.0
> Reporter: Wei-Chiu Chuang
> Assignee: Wei-Chiu Chuang
> Priority: Blocker
> Labels: pull-request-available
> Time Spent: 1h 50m
> Remaining Estimate: 0h
>
> Running the create-release script for Hadoop 3.3.1 on an ARM machine, docker
> image fails to build:
> {noformat}
> aarch64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
> -D_FORTIFY_SOURCE=2 -fPIC -Iast27/Include -I/usr/include/python3.6m -c
> ast27/Parser/acceler.c -o build/temp.linux-aarch64-3.6/ast27/Parser/acceler.o
>
> In file included from
> ast27/Parser/acceler.c:13:0:
> ast27/Parser/../Include/pgenheaders.h:8:10:
> fatal error: Python.h: No such file or directory
> #include "Python.h"
>
> ^~~~~~~~~~
> compilation terminated.
>
> error: command 'aarch64-linux-gnu-gcc' failed with exit
> status 1
> {noformat}
> The missing Python3.h requires python3-dev package:
> https://stackoverflow.com/questions/21530577/fatal-error-python-h-no-such-file-or-directory
> The PhantomJS binary was built for Xenial, doesn't run after the Dockerfile
> migrated to Bionic/Focal. Fortunately Bionic/Focal has official PhantomJS
> packages.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]