Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 5 additions & 11 deletions dev-support/docker/Dockerfile_aarch64
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,10 @@ RUN apt-get -q update \
npm \
openjdk-11-jdk \
openjdk-8-jdk \
phantomjs \
pinentry-curses \
pkg-config \
python2.7 \
python3 \
python3-pip \
python3-pkg-resources \
Expand Down Expand Up @@ -150,17 +152,6 @@ RUN pip3 install pylint==2.6.0 python-dateutil==2.8.1
# hadolint ignore=DL3008
RUN npm install -g [email protected]

###
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replaced the custom PhantomJS binary (which was built for Xenial and does not run on Bionic) with the official phantomjs package for Bionic.

# Install phantomjs built for aarch64
####
RUN mkdir -p /opt/phantomjs \
&& curl -L -s -S \
https://github.com/liusheng/phantomjs/releases/download/2.1.1/phantomjs-2.1.1-linux-aarch64.tar.bz2 \
-o /opt/phantomjs/phantomjs-2.1.1-linux-aarch64.tar.bz2 \
&& tar xvjf /opt/phantomjs/phantomjs-2.1.1-linux-aarch64.tar.bz2 --strip-components 1 -C /opt/phantomjs \
&& cp /opt/phantomjs/bin/phantomjs /usr/bin/ \
&& rm -rf /opt/phantomjs

###
# Avoid out of memory errors in builds
###
Expand All @@ -169,6 +160,9 @@ ENV MAVEN_OPTS -Xms256m -Xmx1536m
# Skip gpg verification when downloading Yetus via yetus-wrapper
ENV HADOOP_SKIP_YETUS_VERIFICATION true

# Force PhantomJS to be in 'headless' mode, do not connect to Xwindow
ENV QT_QPA_PLATFORM offscreen

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The official Ubuntu phantomjs has a caveat: it requires X Window. (ariya/phantomjs#14376 (comment)). 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.

###
# Everything past this point is either not needed for testing or breaks Yetus.
# So tell Yetus not to read the rest of the file:
Expand Down