diff --git a/docker/ubuntu-full/Dockerfile b/docker/ubuntu-full/Dockerfile index 18b1fad57efe..bfcae17151ca 100644 --- a/docker/ubuntu-full/Dockerfile +++ b/docker/ubuntu-full/Dockerfile @@ -128,25 +128,25 @@ RUN . /buildscripts/bh-set-envvars.sh \ && for i in /build_thirdparty/usr/bin/*; do strip -s $i 2>/dev/null || /bin/true; done # Build tiledb -ARG TILEDB_VERSION=2.17.4 +ARG TILEDB_VERSION=2.23.0 +COPY ./tiledb-FindLZ4_EP.cmake.patch /buildscripts/tiledb-FindLZ4_EP.cmake.patch +COPY ./tiledb-FindOpenSSL_EP.cmake.patch /buildscripts/tiledb-FindOpenSSL_EP.cmake.patch RUN . /buildscripts/bh-set-envvars.sh \ && apt-get update -y \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - libspdlog-dev${APT_ARCH_SUFFIX} \ + libspdlog-dev${APT_ARCH_SUFFIX} libmagic-dev${APT_ARCH_SUFFIX} \ && mkdir tiledb \ && wget -q https://github.com/TileDB-Inc/TileDB/archive/${TILEDB_VERSION}.tar.gz -O - \ | tar xz -C tiledb --strip-components=1 \ && cd tiledb \ + && patch -p0 < /buildscripts/tiledb-FindLZ4_EP.cmake.patch \ + && patch -p0 < /buildscripts/tiledb-FindOpenSSL_EP.cmake.patch \ && mkdir build_cmake \ && cd build_cmake \ - && ../bootstrap --prefix=/usr --disable-werror --disable-tests --disable-avx2 --disable-webp \ - && cmake .. -DOPENSSL_INCLUDE_DIR=/usr/include -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/${GCC_ARCH}-linux-gnu/libcrypto.so -DOPENSSL_SSL_LIBRARY=/usr/lib/${GCC_ARCH}-linux-gnu/libssl.so \ - && cd tiledb \ - && cmake ../.. -DOPENSSL_INCLUDE_DIR=/usr/include -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/${GCC_ARCH}-linux-gnu/libcrypto.so -DOPENSSL_SSL_LIBRARY=/usr/lib/${GCC_ARCH}-linux-gnu/libssl.so \ - && cd .. \ + && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DTILEDB_WERROR=OFF -DTILEDB_SUPERBUILD=OFF -DTILEDB_TESTS=OFF -DCOMPILER_SUPPORTS_AVX2=FALSE -DOPENSSL_INCLUDE_DIR=/usr/include -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/${GCC_ARCH}-linux-gnu/libcrypto.so -DOPENSSL_SSL_LIBRARY=/usr/lib/${GCC_ARCH}-linux-gnu/libssl.so \ && make -j$(nproc) \ - && make install-tiledb DESTDIR="/build_thirdparty" \ - && make install-tiledb \ + && make -j$(nproc) install DESTDIR="/build_thirdparty" \ + && make -j$(nproc) install \ && cd ../.. \ && rm -rf tiledb \ && for i in /build_thirdparty/usr/lib/${GCC_ARCH}-linux-gnu/*; do strip -s $i 2>/dev/null || /bin/true; done \ @@ -324,7 +324,7 @@ RUN apt-get update \ libbrotli1 \ libarchive13 \ libaec0 \ - libspdlog1.12 \ + libspdlog1.12 libmagic1t64 \ python-is-python3 \ # pil for antialias option of gdal2tiles python3-pil \ diff --git a/docker/ubuntu-full/tiledb-FindLZ4_EP.cmake.patch b/docker/ubuntu-full/tiledb-FindLZ4_EP.cmake.patch new file mode 100644 index 000000000000..283c43b33e0c --- /dev/null +++ b/docker/ubuntu-full/tiledb-FindLZ4_EP.cmake.patch @@ -0,0 +1,17 @@ +--- cmake/Modules/FindLZ4_EP.cmake 2024-05-10 22:51:18.653929735 +0200 ++++ cmake/Modules/FindLZ4_EP.cmake 2024-05-10 22:51:44.045893652 +0200 +@@ -34,10 +34,10 @@ + # Include some common helper functions. + include(TileDBCommon) + +-if(TILEDB_VCPKG) +- find_package(lz4 REQUIRED) +- return() +-endif() ++#if(TILEDB_VCPKG) ++# find_package(lz4 REQUIRED) ++# return() ++#endif() + + # First check for a static version in the EP prefix. + find_library(LZ4_LIBRARIES diff --git a/docker/ubuntu-full/tiledb-FindOpenSSL_EP.cmake.patch b/docker/ubuntu-full/tiledb-FindOpenSSL_EP.cmake.patch new file mode 100644 index 000000000000..aa819ec5e9d4 --- /dev/null +++ b/docker/ubuntu-full/tiledb-FindOpenSSL_EP.cmake.patch @@ -0,0 +1,17 @@ +--- cmake/Modules/FindOpenSSL_EP.cmake 2024-05-10 23:53:01.989001899 +0200 ++++ cmake/Modules/FindOpenSSL_EP.cmake 2024-05-10 23:53:12.489022706 +0200 +@@ -33,10 +33,10 @@ + # Include some common helper functions. + include(TileDBCommon) + +-if (TILEDB_VCPKG) +- find_package(OpenSSL REQUIRED) +- return() +-endif() ++#if (TILEDB_VCPKG) ++# find_package(OpenSSL REQUIRED) ++# return() ++#endif() + + # Search the path set during the superbuild for the EP. + set(OPENSSL_PATHS ${TILEDB_EP_INSTALL_PREFIX})