This is an automated email from the ASF dual-hosted git repository. okislal pushed a commit to branch madlib2-master in repository https://gitbox.apache.org/repos/asf/madlib.git
commit b734a8f672bef782d5415419934ae6adcb11d148 Author: Orhan Kislal <[email protected]> AuthorDate: Fri Sep 1 20:39:20 2023 +0300 Build: Remove PyXB from cmake and use pyxb-x PyXB is abandoned and broken for py3.10+. pyxb-x is a patched version of pyxb that still has backwards compatibility. Instead of trying to pack pyxb with the MADlib, we just rely on yum like many other libraries. --- src/CMakeLists.txt | 84 ++++++++++++------------- tool/docker/base/Dockerfile_postgres_15_Jenkins | 2 +- tool/jenkins/jenkins_build.sh | 4 +- 3 files changed, 45 insertions(+), 45 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9b02df8d..247f6899 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -80,20 +80,20 @@ endif (NOT EIGEN_TAR_SOURCE) # specify an alternative path to the PyXB tarball: # -DPYXB_TAR_SOURCE=/path/to/PyXB-x.x.x.tar.gz -set(PYXB_VERSION "1.2.6") -set(PYXB_TAR_MD5 4303573fc7094ce4664c5b71cd4bdb48) +# set(PYXB_VERSION "1.2.6") +# set(PYXB_TAR_MD5 5689c94a3c47419213b8872753a73c07) -set(PYXB_TAR "PyXB-${PYXB_VERSION}.tar.gz") -set(PYXB_URL "${SOURCEFORGE_BASE_URL}/pyxb/files/${PYXB_TAR}") +# set(PYXB_TAR "PyXB-${PYXB_VERSION}.tar.gz") +# set(PYXB_URL "https://github.com/renalreg/PyXB-X/archive/refs/tags/v1.2.6.1.tar.gz") -if(NOT PYXB_TAR_SOURCE) - find_file(PYXB_TAR_SOURCE ${PYXB_TAR} - PATHS ${MAD_THIRD_PARTY}/downloads) -endif(NOT PYXB_TAR_SOURCE) +# if(NOT PYXB_TAR_SOURCE) +# find_file(PYXB_TAR_SOURCE ${PYXB_TAR} +# PATHS ${MAD_THIRD_PARTY}/downloads) +# endif(NOT PYXB_TAR_SOURCE) -if(NOT PYXB_TAR_SOURCE) - set(PYXB_TAR_SOURCE ${PYXB_URL}) -endif (NOT PYXB_TAR_SOURCE) +# if(NOT PYXB_TAR_SOURCE) +# set(PYXB_TAR_SOURCE ${PYXB_URL}) +# endif (NOT PYXB_TAR_SOURCE) # -- Local definitions (filenames, paths, etc.) -------------------------------- @@ -147,37 +147,37 @@ find_package(PythonInterp REQUIRED) set(BUILD_PYTHON_LIBDIR "${CMAKE_BINARY_DIR}/src/lib/python") -if(IS_UBUNTU) -ExternalProject_Add(EP_pyxb - PREFIX ${MAD_THIRD_PARTY} - DOWNLOAD_DIR ${MAD_THIRD_PARTY}/downloads - URL ${PYXB_TAR_SOURCE} - URL_MD5 ${PYXB_TAR_MD5} - PATCH_COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/patch/PyXB.sh" - CONFIGURE_COMMAND "" - SOURCE_DIR ${MAD_THIRD_PARTY}/src/EP_pyxb - BUILD_COMMAND "" - BUILD_IN_SOURCE 1 - - INSTALL_COMMAND pip3 install . -) -endif(IS_UBUNTU) - -if((NOT IS_UBUNTU)) -ExternalProject_Add(EP_pyxb - PREFIX ${MAD_THIRD_PARTY} - DOWNLOAD_DIR ${MAD_THIRD_PARTY}/downloads - URL ${PYXB_TAR_SOURCE} - URL_MD5 ${PYXB_TAR_MD5} - PATCH_COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/patch/PyXB.sh" - CONFIGURE_COMMAND "" - SOURCE_DIR ${MAD_THIRD_PARTY}/src/EP_pyxb - BUILD_COMMAND "" - BUILD_IN_SOURCE 1 - - INSTALL_COMMAND ${PYTHON_EXECUTABLE} setup.py install --install-lib ${BUILD_PYTHON_LIBDIR} > /dev/null -) -endif((NOT IS_UBUNTU)) +# if(IS_UBUNTU) +# ExternalProject_Add(EP_pyxb +# PREFIX ${MAD_THIRD_PARTY} +# DOWNLOAD_DIR ${MAD_THIRD_PARTY}/downloads +# URL ${PYXB_TAR_SOURCE} +# URL_MD5 ${PYXB_TAR_MD5} +# # PATCH_COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/patch/PyXB.sh" +# CONFIGURE_COMMAND "" +# SOURCE_DIR ${MAD_THIRD_PARTY}/src/EP_pyxb +# BUILD_COMMAND "" +# BUILD_IN_SOURCE 1 + +# INSTALL_COMMAND pip3 install . +# ) +# endif(IS_UBUNTU) + +# if((NOT IS_UBUNTU)) +# ExternalProject_Add(EP_pyxb +# PREFIX ${MAD_THIRD_PARTY} +# DOWNLOAD_DIR ${MAD_THIRD_PARTY}/downloads +# URL ${PYXB_TAR_SOURCE} +# URL_MD5 ${PYXB_TAR_MD5} +# # PATCH_COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/patch/PyXB.sh" +# CONFIGURE_COMMAND "" +# SOURCE_DIR ${MAD_THIRD_PARTY}/src/EP_pyxb +# BUILD_COMMAND "" +# BUILD_IN_SOURCE 1 + +# INSTALL_COMMAND ${PYTHON_EXECUTABLE} setup.py install --install-lib ${BUILD_PYTHON_LIBDIR} > /dev/null +# ) +# endif((NOT IS_UBUNTU)) install(DIRECTORY ${BUILD_PYTHON_LIBDIR} DESTINATION lib diff --git a/tool/docker/base/Dockerfile_postgres_15_Jenkins b/tool/docker/base/Dockerfile_postgres_15_Jenkins index 37798616..760a6787 100644 --- a/tool/docker/base/Dockerfile_postgres_15_Jenkins +++ b/tool/docker/base/Dockerfile_postgres_15_Jenkins @@ -55,7 +55,7 @@ RUN apt-get update && apt-get install -y \ postgresql-client-15 \ libpq-dev -RUN python3 -m pip install dill rtree xgboost mock pandas numpy scikit-learn +RUN python3 -m pip install dill rtree xgboost mock pandas numpy scikit-learn pyxb-x ## To build an image from this docker file, from madlib folder, run: # docker build -t madlib/postgres_15:jenkins -f tool/docker/base/Dockerfile_postgres_15_Jenkins . diff --git a/tool/jenkins/jenkins_build.sh b/tool/jenkins/jenkins_build.sh index 1a77b697..fb6df8f7 100755 --- a/tool/jenkins/jenkins_build.sh +++ b/tool/jenkins/jenkins_build.sh @@ -73,9 +73,9 @@ docker exec madlib bash -c 'service postgresql start' | tee $workdir/logs/madlib echo "---------- Install pip, and mock -----------" # cmake, make, make install, and make package cat <<EOF -docker exec madlib bash -c 'apt-get update; apt-get install -y python3-pip; pip install mock pandas numpy xgboost scikit-learn pyyaml' | tee $workdir/logs/madlib_compile.log +docker exec madlib bash -c 'apt-get update; apt-get install -y python3-pip; pip install mock pandas numpy xgboost scikit-learn pyyaml pyxb-x' | tee $workdir/logs/madlib_compile.log EOF -docker exec madlib bash -c 'apt-get update; apt-get install -y python3-pip; pip install mock pandas numpy xgboost scikit-learn pyyaml' | tee $workdir/logs/madlib_compile.log +docker exec madlib bash -c 'apt-get update; apt-get install -y python3-pip; pip install mock pandas numpy xgboost scikit-learn pyyaml pyxb-x' | tee $workdir/logs/madlib_compile.log echo "---------- Building package -----------" # cmake, make, make install, and make package
