54 lines
2.9 KiB
Bash
54 lines
2.9 KiB
Bash
#!/bin/bash
|
|
env
|
|
## Based on the javacpp presets github actions centos 7 build at https://github.com/bytedeco/javacpp-presets/
|
|
SCL_ENABLE="devtoolset-7"
|
|
yum -y update && yum -y install wget unzip centos-release-scl-rh epel-release
|
|
echo "Downloading java from azul"
|
|
cd /opt && wget https://cdn.azul.com/zulu/bin/zulu11.58.15-ca-jdk11.0.16-linux_x64.zip
|
|
echo "Downloaded azul java"
|
|
ls /opt
|
|
cd /opt && unzip zulu11.58.15-ca-jdk11.0.16-linux_x64.zip
|
|
#zulu11.58.15-ca-jdk11.0.16-linux_x64
|
|
yum -y install $SCL_ENABLE rh-java-common-ant boost-devel ccache clang gcc-c++ gcc-gfortran ant python python36-devel python36-pip swig file which wget unzip tar bzip2 gzip xz patch autoconf-archive automake make libtool bison flex perl nasm alsa-lib-devel freeglut-devel gtk2-devel libusb-devel libusb1-devel curl-devel expat-devel gettext-devel openssl-devel bzip2-devel zlib-devel SDL-devel libva-devel libxkbcommon-devel libxkbcommon-x11-devel xcb-util* fontconfig-devel libffi-devel ragel ocl-icd-devel GeoIP-devel pcre-devel ssdeep-devel yajl-devel
|
|
sed -i 's/_mm512_abs_pd (__m512 __A)/_mm512_abs_pd (__m512d __A)/g' /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/avx512fintrin.h
|
|
source scl_source enable $SCL_ENABLE || true
|
|
curl -LO https://github.com/Kitware/CMake/releases/download/v3.16.6/cmake-3.16.6-Linux-x86_64.tar.gz
|
|
curl -LO https://downloads.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
|
|
curl -LO https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.3.tar.gz
|
|
tar -xzf cmake-3.16.6-Linux-x86_64.tar.gz -C /opt/
|
|
mv /opt/cmake-3.16.6-Linux-x86_64 /opt/cmake
|
|
tar -xzf apache-maven-3.6.3-bin.tar.gz -C /opt/
|
|
tar -xzf git-2.18.3.tar.gz
|
|
pushd git-2.18.3; make -j2 prefix=/usr/local/; make -j2 prefix=/usr/local/ install; popd
|
|
ln -sf /usr/bin/python3.6 /usr/bin/python3
|
|
ln -sf /opt/cmake-3.16.6-Linux-x86_64/bin/* /usr/bin/
|
|
ln -sf /opt/apache-maven-3.6.3/bin/mvn /usr/bin/mvn
|
|
curl -fsSL https://github.com/google/protobuf/releases/download/v3.8.0/protobuf-cpp-3.8.0.tar.gz \
|
|
| tar xz && \
|
|
cd protobuf-3.8.0 && \
|
|
./configure --prefix=/opt/protobuf && \
|
|
make -j2 && \
|
|
make install && \
|
|
cd .. && \
|
|
rm -rf protobuf-3.8.0
|
|
echo "/opt/protobuf/bin" >> $GITHUB_PATH
|
|
# need to hardcode due to conflicting java home being set
|
|
export JAVA_HOME=/opt/zulu11.58.15-ca-jdk11.0.16-linux_x64
|
|
echo "${JAVA_HOME}/bin" >> $GITHUB_PATH
|
|
export PATH=/opt/protobuf/bin:/opt/cmake/bin:$JAVA_HOME/bin:$PATH
|
|
echo "JAVA_HOME ${JAVA_HOME}"
|
|
java -version
|
|
which javac
|
|
mvn --version
|
|
cmake --version
|
|
protoc --version
|
|
pwd
|
|
# The volume directory for the workspace
|
|
cd "/github/workspace/"
|
|
bash ./bootstrap-libnd4j-from-url.sh
|
|
|
|
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$OPENBLAS_PATH"
|
|
echo "Running INSTALL COMMAND ${INSTALL_COMMAND}"
|
|
eval "${INSTALL_COMMAND}"
|
|
|