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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
