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

OpenJ9 Java 8 ARM Build Attempt #712

Closed
dsouzai opened this issue Nov 29, 2017 · 0 comments
Closed

OpenJ9 Java 8 ARM Build Attempt #712

dsouzai opened this issue Nov 29, 2017 · 0 comments

Comments

@dsouzai
Copy link
Contributor

dsouzai commented Nov 29, 2017

I spent some time trying to hack a Java 8 ARM build; given that @JamesKingdon got a Java 9 build going (#53 (comment)) I figured it was worth seeing if I could port his efforts to Java 8. If the title of this PR hasn't already given it away, I did not succeed. However, I'm opening this issue to document what I did so that anyone else who wants to attempt this can see what's already been tried.

cd <path to working dir>

wget https://github.com/AdoptOpenJDK/openjdk8-openj9-nightly/releases/download/jdk8u152-b16-20172811/OpenJDK8-OPENJ9_x64_Linux_20172811.tar.gz
tar -xf OpenJDK8-OPENJ9_x64_Linux_20172811.tar.gz

git clone https://github.com/dsouzai/openj9-openjdk-jdk8.git
cd openj9-openjdk-jdk8
git checkout armbuild

bash get_source.sh -openj9-repo=https://github.com/JamesKingdon/openj9.git -openj9-branch=arm-buildspec -omr-repo=https://github.com/JamesKingdon/openj9-omr.git -omr-branch=arm-build

cd openj9/buildenv/docker/jdk9/armhf_CC
docker build -t java8_openj9arm .

docker run -v <path to working dir>/openj9-openjdk-jdk8:/root/openj9-openjdk-jdk8:Z -v <path to working dir>/<openj9-openjdk-dirname>:/root/buildjdk:Z -it java8_openj9arm

cd openj9-openjdk-jdk8/common/autoconf
bash autogen.sh
cd /root/openj9-openjdk-jdk8

export LIBFFI_CFLAGS="-I${OPENJ9_CC_DIR}/arm-linux-gnueabihf/include"
export LIBFFI_LIBS="-L${OPENJ9_CC_DIR}/arm-linux-gnueabihf/libc/usr/lib/ -lffi"
export TOOLSDIR=${OPENJ9_CC_DIR}/bin
export PATH=$TOOLSDIR:$PATH

bash ./configure --openjdk-target=arm-linux-gnueabihf --with-x=${OPENJ9_CC_DIR}/arm-linux-gnueabihf  --with-sys-root=${OPENJ9_CC_DIR}/arm-linux-gnueabihf/libc --with-freemarker-jar=/root/freemarker.jar --with-tools-dir=${TOOLSDIR} OBJCOPY=arm-linux-gnueabihf-objcopy STRIP=arm-linux-gnueabihf-strip CPP=arm-linux-gnueabihf-cpp CXX=arm-linux-gnueabihf-g++ CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-gcc CPP_FLAGS=-lstdc++ CXX_FLAGS=-lstdc++ AR=arm-linux-gnueabihf-ar --disable-freetype-bundling --with-freetype-include=${OPENJ9_CC_DIR}/arm-linux-gnueabihf/libc/usr/include/freetype2 --with-freetype-lib=${OPENJ9_CC_DIR}/arm-linux-gnueabihf/libc/usr/lib --with-freetype=${OPENJ9_CC_DIR}/arm-linux-gnueabihf/libc/usr/ BUILD_CC=/usr/bin/gcc BUILD_CXX=/usr/bin/g++ BUILD_LD=/usr/bin/gcc 

make CONF=linux-arm-normal-server-release all

This will result the entire build process completing. However there were a some errors I saw when generating the Nimbus files. Additionally, the j2sdk-image doesn't get composed properly (none of the openj9 files get copied over), though perhaps that's because of something wrong in dsouzai/openj9-openjdk-jdk8@e4516f9 or one of the other commits (https://github.com/dsouzai/openj9-openjdk-jdk8/commits/armbuild).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants