diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c3bb5f668..6bf27e52fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -348,7 +348,7 @@ set(CMAKE_C_STANDARD 11) set(CMAKE_CUDA_STANDARD 17) # CXX flags -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-free-nonheap-object -Wno-unused-variable -Wno-unused-function -Wno-strict-overflow -fno-strict-aliasing -fPIC -fvisibility=hidden") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-free-nonheap-object -Wno-unused-variable -Wno-unused-function -Wno-strict-overflow -Wno-array-bounds -fno-strict-aliasing -fPIC -fvisibility=hidden") if (WERROR) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") diff --git a/docker/Dockerfile b/docker/Dockerfile index 9283eee6ef..4287f5c3f2 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -13,9 +13,9 @@ ENV PYVER=${PYVER} \ PYTHONPATH=/opt/python/v \ PYBIN=${PYTHONPATH}/bin \ PYLIB=${PYTHONPATH}/lib \ - PATH=/opt/python/cp38-cp38/bin:/opt/python/cp39-cp39/bin:${PYBIN}:/opt/python/cp310-cp310/bin:/opt/python/cp311-cp311/bin:${PYBIN}:/opt/python/cp312-cp312/bin:${PYBIN}:${PATH} \ - LD_LIBRARY_PATH=/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:/opt/python/cp38-cp38/lib:/opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:${PYLIB}:${LD_LIBRARY_PATH} \ - LIBRARY_PATH=/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:/opt/python/cp38-cp38/lib:/opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:${PYLIB}:${LIBRARY_PATH} + PATH=/opt/python/cp39-cp39/bin:${PYBIN}:/opt/python/cp310-cp310/bin:/opt/python/cp311-cp311/bin:${PYBIN}:/opt/python/cp312-cp312/bin:${PYBIN}:${PATH} \ + LD_LIBRARY_PATH=/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:${PYLIB}:${LD_LIBRARY_PATH} \ + LIBRARY_PATH=/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:/opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:${PYLIB}:${LIBRARY_PATH} RUN ln -s /opt/python/cp${PYV}* /opt/python/v diff --git a/docker/Dockerfile.deps b/docker/Dockerfile.deps index d5e2ba3c40..cb52af7f1c 100644 --- a/docker/Dockerfile.deps +++ b/docker/Dockerfile.deps @@ -2,22 +2,19 @@ ## Build DALI dependencies on top of manylinux2014 ## DALI is based on "manylinux2014", official page https://github.com/pypa/manylinux ######################################################################################### -ARG FROM_IMAGE_NAME=quay.io/pypa/manylinux2014_x86_64 +ARG FROM_IMAGE_NAME=quay.io/pypa/manylinux_2_28_x86_64 ARG BUILDER_EXTRA_DEPS=scratch FROM ${BUILDER_EXTRA_DEPS} as extra_deps FROM ${FROM_IMAGE_NAME} # Install yum Dependencies RUN yum install -y wget doxygen graphviz gettext xz openssl autogen zip \ - devtoolset-10-libasan-devel devtoolset-10-liblsan-devel \ - devtoolset-10-libtsan-devel devtoolset-10-libubsan-devel \ - perl perl-IPC-Cmd + gcc-toolset-12-libasan-devel gcc-toolset-12-liblsan-devel \ + gcc-toolset-12-libtsan-devel gcc-toolset-12-libubsan-devel \ + perl perl-IPC-Cmd nasm ENV ACLOCAL_PATH=/usr/share/aclocal/:/usr/local/share/aclocal -# Don't want the short-unicode version for Python 2.7 -RUN rm -f /opt/python/cp27-cp27m - RUN CMAKE_VERSION=3.20.1 && CMAKE_ARCH=$(uname -m) && \ wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}.sh && \ test -e /bin/sh || ln -s /usr/bin/sh /bin/sh && \ @@ -25,19 +22,9 @@ RUN CMAKE_VERSION=3.20.1 && CMAKE_ARCH=$(uname -m) && \ ./cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}.sh --prefix=/usr/local --skip-license && \ rm -rf cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}.sh -# We need newer NASM than manylinux2014 offers -RUN cd /tmp && \ - curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2 && \ - tar xjvf nasm-2.15.05.tar.bz2 && \ - cd nasm-2.15.05 && \ - ./autogen.sh && \ - ./configure && \ - make && \ - make install - # Clang, build it before deps as deps changes more frequently RUN CLANG_VERSION=15.0.2 && \ - cd /tmp && \ + cd /tmp && \ wget https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-${CLANG_VERSION}.tar.gz && \ tar -xf llvmorg-*.tar.gz && \ rm -rf llvmorg-*.tar.gz && \ diff --git a/include/dali/core/small_vector.h b/include/dali/core/small_vector.h index f2927e7acc..eb28fbd430 100644 --- a/include/dali/core/small_vector.h +++ b/include/dali/core/small_vector.h @@ -23,6 +23,10 @@ #include "dali/core/util.h" #include "dali/core/cuda_utils.h" +#pragma GCC diagnostic push +// most recent gcc seems to be confused by some things in small vector raising false warnings +#pragma GCC diagnostic ignored "-Wuse-after-free" + namespace dali { template ::value> @@ -732,4 +736,6 @@ class SmallVector : SmallVectorAlloc, SmallVectorBase { } // namespace dali +#pragma GCC diagnostic pop + #endif // DALI_CORE_SMALL_VECTOR_H_