mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-16 21:00:14 +00:00
### Description 1. Update docker files and their build instructions. ARM64 and x86_64 can use the same docker file. 2. Upgrade Linux CUDA pipeline's base docker image from CentOS7 to UBI8 AB#18990
170 lines
7.8 KiB
Diff
170 lines
7.8 KiB
Diff
diff --git a/build-cpython.sh b/build-cpython.sh
|
|
index eea89e2..79c74d8 100755
|
|
--- a/build-cpython.sh
|
|
+++ b/build-cpython.sh
|
|
@@ -49,7 +49,7 @@ fi
|
|
CFLAGS_NODIST="${MANYLINUX_CFLAGS} ${MANYLINUX_CPPFLAGS} ${CFLAGS_EXTRA}" \
|
|
LDFLAGS_NODIST="${MANYLINUX_LDFLAGS}" \
|
|
--prefix=${PREFIX} --disable-shared --with-ensurepip=no > /dev/null
|
|
-make > /dev/null
|
|
+make -j$(nproc) > /dev/null
|
|
make install > /dev/null
|
|
popd
|
|
rm -rf Python-${CPYTHON_VERSION} Python-${CPYTHON_VERSION}.tgz Python-${CPYTHON_VERSION}.tgz.asc
|
|
diff --git a/build-git.sh b/build-git.sh
|
|
index 9c0b02d..2e2919c 100755
|
|
--- a/build-git.sh
|
|
+++ b/build-git.sh
|
|
@@ -27,7 +27,7 @@ fetch_source ${GIT_ROOT}.tar.gz ${GIT_DOWNLOAD_URL}
|
|
check_sha256sum ${GIT_ROOT}.tar.gz ${GIT_HASH}
|
|
tar -xzf ${GIT_ROOT}.tar.gz
|
|
pushd ${GIT_ROOT}
|
|
-make install prefix=/usr/local NO_GETTEXT=1 NO_TCLTK=1 DESTDIR=/manylinux-rootfs CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS}" CXXFLAGS="${MANYLINUX_CXXFLAGS}" LDFLAGS="${MANYLINUX_LDFLAGS}"
|
|
+make -j$(nproc) install prefix=/usr/local NO_GETTEXT=1 NO_TCLTK=1 DESTDIR=/manylinux-rootfs CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS}" CXXFLAGS="${MANYLINUX_CXXFLAGS}" LDFLAGS="${MANYLINUX_LDFLAGS}"
|
|
popd
|
|
rm -rf ${GIT_ROOT} ${GIT_ROOT}.tar.gz
|
|
|
|
diff --git a/build-openssl.sh b/build-openssl.sh
|
|
index 668deb6..5f3f5d5 100755
|
|
--- a/build-openssl.sh
|
|
+++ b/build-openssl.sh
|
|
@@ -40,7 +40,7 @@ check_sha256sum ${OPENSSL_ROOT}.tar.gz ${OPENSSL_HASH}
|
|
tar -xzf ${OPENSSL_ROOT}.tar.gz
|
|
pushd ${OPENSSL_ROOT}
|
|
./config no-shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS} -fPIC" CXXFLAGS="${MANYLINUX_CXXFLAGS} -fPIC" LDFLAGS="${MANYLINUX_LDFLAGS} -fPIC" > /dev/null
|
|
-make > /dev/null
|
|
+make -j$(nproc) > /dev/null
|
|
make install_sw > /dev/null
|
|
popd
|
|
rm -rf ${OPENSSL_ROOT} ${OPENSSL_ROOT}.tar.gz
|
|
diff --git a/build_utils.sh b/build_utils.sh
|
|
index 961e34d..55ae11b 100755
|
|
--- a/build_utils.sh
|
|
+++ b/build_utils.sh
|
|
@@ -52,7 +52,7 @@ function check_sha256sum {
|
|
|
|
function do_standard_install {
|
|
./configure "$@" CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS}" "CXXFLAGS=${MANYLINUX_CXXFLAGS}" LDFLAGS="${MANYLINUX_LDFLAGS}" > /dev/null
|
|
- make > /dev/null
|
|
+ make -j$(nproc) > /dev/null
|
|
make install > /dev/null
|
|
}
|
|
|
|
diff --git a/finalize.sh b/finalize.sh
|
|
index 621eab9..4cbcf90 100755
|
|
--- a/finalize.sh
|
|
+++ b/finalize.sh
|
|
@@ -86,6 +86,3 @@ clean_pyc /opt/_internal
|
|
rm -rf /root/.cache
|
|
|
|
hardlink -cv /opt/_internal
|
|
-
|
|
-# update system packages
|
|
-LC_ALL=C ${MY_DIR}/update-system-packages.sh
|
|
diff --git a/install-build-packages.sh b/install-build-packages.sh
|
|
index 408bc33..b45ceba 100755
|
|
--- a/install-build-packages.sh
|
|
+++ b/install-build-packages.sh
|
|
@@ -9,12 +9,11 @@ set -exuo pipefail
|
|
# make sure the corresponding library is added to RUNTIME_DEPS if applicable
|
|
|
|
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ]; then
|
|
- COMPILE_DEPS="bzip2-devel ncurses-devel readline-devel gdbm-devel libpcap-devel xz-devel openssl openssl-devel keyutils-libs-devel krb5-devel libcom_err-devel libidn-devel curl-devel uuid-devel libffi-devel kernel-headers libdb-devel"
|
|
+ COMPILE_DEPS="bzip2-devel ncurses-devel gdbm-devel xz-devel openssl openssl-devel keyutils-libs-devel krb5-devel libcom_err-devel curl-devel libffi-devel kernel-headers libdb-devel"
|
|
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
|
|
PACKAGE_MANAGER=yum
|
|
else
|
|
PACKAGE_MANAGER=dnf
|
|
- COMPILE_DEPS="${COMPILE_DEPS} tk-devel"
|
|
fi
|
|
elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
|
PACKAGE_MANAGER=apk
|
|
diff --git a/install-entrypoint.sh b/install-entrypoint.sh
|
|
index 9ef1e99..ec52833 100755
|
|
--- a/install-entrypoint.sh
|
|
+++ b/install-entrypoint.sh
|
|
@@ -26,3 +26,8 @@ fi
|
|
if [ "${AUDITWHEEL_POLICY}" = "musllinux_1_1" ]; then
|
|
apk add --no-cache bash
|
|
fi
|
|
+
|
|
+if command -v yum 2>&1 ; then
|
|
+ yum install -y yum-plugin-versionlock
|
|
+ yum versionlock cuda* libcudnn* libnccl*
|
|
+fi
|
|
\ No newline at end of file
|
|
diff --git a/install-runtime-packages.sh b/install-runtime-packages.sh
|
|
index 137d2e2..4269afb 100755
|
|
--- a/install-runtime-packages.sh
|
|
+++ b/install-runtime-packages.sh
|
|
@@ -33,7 +33,7 @@ source $MY_DIR/build_utils.sh
|
|
|
|
# MANYLINUX_DEPS: Install development packages (except for libgcc which is provided by gcc install)
|
|
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ]; then
|
|
- MANYLINUX_DEPS="glibc-devel libstdc++-devel glib2-devel libX11-devel libXext-devel libXrender-devel mesa-libGL-devel libICE-devel libSM-devel zlib-devel expat-devel"
|
|
+ MANYLINUX_DEPS="glibc-devel libstdc++-devel glib2-devel zlib-devel expat-devel"
|
|
elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
|
MANYLINUX_DEPS="musl-dev libstdc++ glib-dev libx11-dev libxext-dev libxrender-dev mesa-dev libice-dev libsm-dev zlib-dev expat-dev"
|
|
else
|
|
@@ -54,7 +54,7 @@ else
|
|
exit 1
|
|
fi
|
|
|
|
-BASETOOLS="autoconf automake bison bzip2 diffutils file make patch unzip"
|
|
+BASETOOLS="autoconf automake bzip2 diffutils file make patch unzip"
|
|
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
|
|
PACKAGE_MANAGER=yum
|
|
BASETOOLS="${BASETOOLS} hardlink hostname which"
|
|
@@ -73,9 +73,11 @@ if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
|
|
if [ "${AUDITWHEEL_ARCH}" == "x86_64" ]; then
|
|
# Software collection (for devtoolset-10)
|
|
yum -y install centos-release-scl-rh
|
|
- # EPEL support (for yasm)
|
|
- yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
|
- TOOLCHAIN_DEPS="${TOOLCHAIN_DEPS} yasm"
|
|
+ if [[ -d /opt/rocm ]]; then
|
|
+ TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran"
|
|
+ else
|
|
+ TOOLCHAIN_DEPS="devtoolset-11-binutils devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-gcc-gfortran"
|
|
+ fi
|
|
elif [ "${AUDITWHEEL_ARCH}" == "aarch64" ] || [ "${AUDITWHEEL_ARCH}" == "ppc64le" ] || [ "${AUDITWHEEL_ARCH}" == "s390x" ]; then
|
|
# Software collection (for devtoolset-10)
|
|
yum -y install centos-release-scl-rh
|
|
@@ -86,19 +88,18 @@ if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
|
|
fi
|
|
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ]; then
|
|
PACKAGE_MANAGER=dnf
|
|
- BASETOOLS="${BASETOOLS} curl glibc-locale-source glibc-langpack-en hardlink hostname libcurl libnsl libxcrypt which"
|
|
+ BASETOOLS="${BASETOOLS} yum-utils curl glibc-locale-source glibc-langpack-en hardlink hostname libcurl libxcrypt which"
|
|
# See https://unix.stackexchange.com/questions/41784/can-yum-express-a-preference-for-x86-64-over-i386-packages
|
|
echo "multilib_policy=best" >> /etc/yum.conf
|
|
# Error out if requested packages do not exist
|
|
echo "skip_missing_names_on_install=False" >> /etc/yum.conf
|
|
# Make sure that locale will not be removed
|
|
sed -i '/^override_install_langs=/d' /etc/yum.conf
|
|
- dnf -y upgrade
|
|
dnf -y install dnf-plugins-core
|
|
- dnf config-manager --set-enabled powertools # for yasm
|
|
- TOOLCHAIN_DEPS="gcc-toolset-12-binutils gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-gfortran"
|
|
- if [ "${AUDITWHEEL_ARCH}" == "x86_64" ]; then
|
|
- TOOLCHAIN_DEPS="${TOOLCHAIN_DEPS} yasm"
|
|
+ if [[ -d /usr/local/cuda ]]; then
|
|
+ TOOLCHAIN_DEPS="gcc gcc-c++"
|
|
+ else
|
|
+ TOOLCHAIN_DEPS="gcc-toolset-12-binutils gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-gfortran"
|
|
fi
|
|
elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
|
TOOLCHAIN_DEPS="binutils gcc g++ gfortran"
|
|
@@ -121,12 +122,6 @@ else
|
|
exit 1
|
|
fi
|
|
|
|
-# update system packages, we already updated them but
|
|
-# the following script takes care of cleaning-up some things
|
|
-# and since it's also needed in the finalize step, everything's
|
|
-# centralized in this script to avoid code duplication
|
|
-LC_ALL=C ${MY_DIR}/update-system-packages.sh
|
|
-
|
|
if [ "${BASE_POLICY}" == "manylinux" ]; then
|
|
# we'll be removing libcrypt.so.1 later on
|
|
# this is needed to ensure the new one will be found
|