From 1164d1f805ed8990d3b80307ad860c4b3aff5bf6 Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Tue, 21 Jul 2020 23:25:44 -0700 Subject: [PATCH 1/9] [qt5-imageformats] Disable parallel build --- ports/qt5-imageformats/CONTROL | 1 + ports/qt5-imageformats/portfile.cmake | 2 ++ 2 files changed, 3 insertions(+) diff --git a/ports/qt5-imageformats/CONTROL b/ports/qt5-imageformats/CONTROL index 277ba3c0ca29db..6cc1b86eadd211 100644 --- a/ports/qt5-imageformats/CONTROL +++ b/ports/qt5-imageformats/CONTROL @@ -1,4 +1,5 @@ Source: qt5-imageformats Version: 5.15.0 +Port-Version: 1 Description: Qt5 Image Formats Module - Plugins for additional image formats: TIFF, MNG, TGA, WBMP Build-Depends: qt5-base[core], tiff, libwebp, jasper diff --git a/ports/qt5-imageformats/portfile.cmake b/ports/qt5-imageformats/portfile.cmake index abd88a60c27e1d..998e682dceefc3 100644 --- a/ports/qt5-imageformats/portfile.cmake +++ b/ports/qt5-imageformats/portfile.cmake @@ -51,4 +51,6 @@ set(OPT_DBG "TIFF_LIBS=${TIFF_DEBUG} ${LZMA_DEBUG} ${JPEG_DEBUG} ${ZLIB_DEBUG}" "JASPER_LIBS=${JASPER_DEBUG} ${FREEGLUT_DEBUG} ${JPEG_DEBUG} ${ZLIB_DEBUG}") list(APPEND CORE_OPTIONS "WEBP_INCDIR=${CURRENT_INSTALLED_DIR}/include") # Requires libwebp[all] +# Disable parallel build +set(VCPKG_CONCURRENCY 1) qt_submodule_installation(BUILD_OPTIONS ${CORE_OPTIONS} BUILD_OPTIONS_RELEASE ${OPT_REL} BUILD_OPTIONS_DEBUG ${OPT_DBG}) \ No newline at end of file From 501c30393f9d87faf3ae53c4c11f050f271d91a6 Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Wed, 22 Jul 2020 19:17:38 -0700 Subject: [PATCH 2/9] [ompl] Disable parallel configure --- ports/ompl/CONTROL | 3 ++- ports/ompl/portfile.cmake | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ports/ompl/CONTROL b/ports/ompl/CONTROL index 8a60f34cdd4bc2..292ad71b66ee57 100644 --- a/ports/ompl/CONTROL +++ b/ports/ompl/CONTROL @@ -1,5 +1,6 @@ Source: ompl -Version: 1.4.2-4 +Version: 1.4.2 +Port-Version: 5 Homepage: https://bitbucket.org/ompl Description: The Open Motion Planning Library, consists of many state-of-the-art sampling-based motion planning algorithms Build-Depends: boost-dynamic-bitset, boost-filesystem, boost-graph, boost-odeint, boost-program-options, boost-serialization, boost-system, boost-test, boost-ublas, boost-timer, eigen3 diff --git a/ports/ompl/portfile.cmake b/ports/ompl/portfile.cmake index 074d2b852aa14a..a3c1244e931a22 100644 --- a/ports/ompl/portfile.cmake +++ b/ports/ompl/portfile.cmake @@ -29,6 +29,7 @@ file(WRITE ${SOURCE_PATH}/CMakeLists.txt "${_contents}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE OPTIONS -DOMPL_VERSIONED_INSTALL=OFF -DOMPL_REGISTRATION=OFF From c6b71ba14f47edbc0a8f4df4a7726e8f77081809 Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Wed, 22 Jul 2020 23:48:10 -0700 Subject: [PATCH 3/9] [qt5-connectivity] Disable parallel build --- ports/qt5-connectivity/CONTROL | 1 + ports/qt5-connectivity/portfile.cmake | 3 +++ 2 files changed, 4 insertions(+) diff --git a/ports/qt5-connectivity/CONTROL b/ports/qt5-connectivity/CONTROL index 7ffc9959c974c0..aefaea84647020 100644 --- a/ports/qt5-connectivity/CONTROL +++ b/ports/qt5-connectivity/CONTROL @@ -1,4 +1,5 @@ Source: qt5-connectivity Version: 5.15.0 +Port-Version: 1 Description: Qt5 Connectivity module - Provides access to Bluetooth and NFC hardware Build-Depends: qt5-base[core] diff --git a/ports/qt5-connectivity/portfile.cmake b/ports/qt5-connectivity/portfile.cmake index 2cd1cf47965fa3..7908548a840f44 100644 --- a/ports/qt5-connectivity/portfile.cmake +++ b/ports/qt5-connectivity/portfile.cmake @@ -1,2 +1,5 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) + +# Disable parallel build +set(VCPKG_CONCURRENCY 1) qt_submodule_installation() \ No newline at end of file From cce72ced19a6c7f517b0cf0aa7519ea4deabfbbe Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Thu, 23 Jul 2020 19:10:16 -0700 Subject: [PATCH 4/9] [qwt] Update hash --- ports/qwt/CONTROL | 1 + ports/qwt/portfile.cmake | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ports/qwt/CONTROL b/ports/qwt/CONTROL index 4a2407b343b8a7..8353f4670f4306 100644 --- a/ports/qwt/CONTROL +++ b/ports/qwt/CONTROL @@ -1,5 +1,6 @@ Source: qwt Version: 6.1.4 +Port-Version: 1 Homepage: https://sourceforge.net/projects/qwt Description: Qt widgets library for technical applications Build-Depends: qt5-base[core], qt5-svg, qt5-tools diff --git a/ports/qwt/portfile.cmake b/ports/qwt/portfile.cmake index bbf03abc1482aa..7d79470b0808f9 100644 --- a/ports/qwt/portfile.cmake +++ b/ports/qwt/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_sourceforge( REPO qwt/qwt REF 6.1.4 FILENAME "qwt-6.1.4.zip" - SHA512 711256ec4d1d54d201650e9c63b584b17a61dbedde5a581e0b6227fdbee149cdbe2a889aa58f67777125b6471fc1fe248992ec845eb6481a2dfc2c4276701d7f + SHA512 c7f9d4c715479421640e484b2834e0a6868844b1e4986513147e911e02f9af1ef8393d6f8196aca50880fcaa870e60a9b91bc429e30199280e31b8c37fb14b3e PATCHES fix-dynamic-static.patch build.patch ) From 304c65c1929f3462d0563f34fc123c82167a90be Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Thu, 23 Jul 2020 19:10:30 -0700 Subject: [PATCH 5/9] [qt5-location] Disable parallel build --- ports/qt5-location/CONTROL | 1 + ports/qt5-location/portfile.cmake | 3 +++ 2 files changed, 4 insertions(+) diff --git a/ports/qt5-location/CONTROL b/ports/qt5-location/CONTROL index ecc878edf71715..c0e66e5ac1ec53 100644 --- a/ports/qt5-location/CONTROL +++ b/ports/qt5-location/CONTROL @@ -1,4 +1,5 @@ Source: qt5-location Version: 5.15.0 +Port-Version: 1 Description: Qt5 Location Module - Displays map, navigation, and place content in a QML application. Build-Depends: qt5-base[core], qt5-declarative, qt5-quickcontrols, qt5-quickcontrols2, qt5-serialport diff --git a/ports/qt5-location/portfile.cmake b/ports/qt5-location/portfile.cmake index e96fab831345ba..88721dcd310bf2 100644 --- a/ports/qt5-location/portfile.cmake +++ b/ports/qt5-location/portfile.cmake @@ -1,3 +1,6 @@ message(STATUS "${PORT} has a spurious failure in which it is unable to create a parent directory! Just retry.") include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) + +# Disable parallel build +set(VCPKG_CONCURRENCY 1) qt_submodule_installation(PATCHES clipper.patch) \ No newline at end of file From b09ddf9217b75be5c86fe6fbd29d85a5c456042d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Fri, 24 Jul 2020 02:48:05 -0700 Subject: [PATCH 6/9] Update ports/qwt/portfile.cmake --- ports/qwt/portfile.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/qwt/portfile.cmake b/ports/qwt/portfile.cmake index 7d79470b0808f9..365cdef679afd6 100644 --- a/ports/qwt/portfile.cmake +++ b/ports/qwt/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_sourceforge( REPO qwt/qwt REF 6.1.4 FILENAME "qwt-6.1.4.zip" - SHA512 c7f9d4c715479421640e484b2834e0a6868844b1e4986513147e911e02f9af1ef8393d6f8196aca50880fcaa870e60a9b91bc429e30199280e31b8c37fb14b3e + SHA512 711256ec4d1d54d201650e9c63b584b17a61dbedde5a581e0b6227fdbee149cdbe2a889aa58f67777125b6471fc1fe248992ec845eb6481a2dfc2c4276701d7f PATCHES fix-dynamic-static.patch build.patch ) @@ -31,4 +31,4 @@ file(GLOB HEADER_FILES ${SOURCE_PATH}/src/*.h) file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 6b468b39390ddac91d4fc3e59910604577d2e5ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Mon, 27 Jul 2020 19:39:42 -0700 Subject: [PATCH 7/9] Update ports/qwt/portfile.cmake Co-authored-by: Robert Schumacher --- ports/qwt/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/qwt/portfile.cmake b/ports/qwt/portfile.cmake index 365cdef679afd6..795fe53b0bb408 100644 --- a/ports/qwt/portfile.cmake +++ b/ports/qwt/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_sourceforge( REPO qwt/qwt REF 6.1.4 FILENAME "qwt-6.1.4.zip" - SHA512 711256ec4d1d54d201650e9c63b584b17a61dbedde5a581e0b6227fdbee149cdbe2a889aa58f67777125b6471fc1fe248992ec845eb6481a2dfc2c4276701d7f + SHA512 711256ec4d1d54d201650e9c63b584b17a61dbedde5a581e0b6227fdbee149cdbe2a889aa58f67777125b6471fc1fe248992ec845eb6481a2dfc2c4276701d7f PATCHES fix-dynamic-static.patch build.patch ) From 20b51cadd3a185376c06dd0c7bd5f7c6f6935296 Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Mon, 27 Jul 2020 23:23:33 -0700 Subject: [PATCH 8/9] [qt5] change build method to vcpkg_execute_build_process --- ports/qt5-base/CONTROL | 1 + ports/qt5-base/cmake/install_qt.cmake | 4 +++- ports/qt5-connectivity/portfile.cmake | 3 --- ports/qt5-imageformats/portfile.cmake | 2 -- ports/qt5-location/portfile.cmake | 3 --- 5 files changed, 4 insertions(+), 9 deletions(-) diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL index 4788f4b3852d6c..2763b32aab1596 100644 --- a/ports/qt5-base/CONTROL +++ b/ports/qt5-base/CONTROL @@ -1,5 +1,6 @@ Source: qt5-base Version: 5.15.0 +Port-Version: 1 Homepage: https://www.qt.io/ Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components. Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl, angle (!windows), egl-registry, icu (!uwp), fontconfig (!windows) diff --git a/ports/qt5-base/cmake/install_qt.cmake b/ports/qt5-base/cmake/install_qt.cmake index a188138f499c7b..97f2e71a20e920 100644 --- a/ports/qt5-base/cmake/install_qt.cmake +++ b/ports/qt5-base/cmake/install_qt.cmake @@ -4,6 +4,7 @@ function(install_qt) if(CMAKE_HOST_WIN32) vcpkg_find_acquire_program(JOM) set(INVOKE "${JOM}" /J ${VCPKG_CONCURRENCY}) + set(INVOKE_SINGLE "${JOM}" /J 1) else() find_program(MAKE make) set(INVOKE "${MAKE}" -j${VCPKG_CONCURRENCY}) @@ -62,8 +63,9 @@ function(install_qt) endif() message(STATUS "Building ${_build_triplet}") - vcpkg_execute_required_process( + vcpkg_execute_build_process( COMMAND ${INVOKE} + NO_PARALLEL_COMMAND ${INVOKE_SINGLE} WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet} LOGNAME build-${_build_triplet} ) diff --git a/ports/qt5-connectivity/portfile.cmake b/ports/qt5-connectivity/portfile.cmake index 7908548a840f44..2cd1cf47965fa3 100644 --- a/ports/qt5-connectivity/portfile.cmake +++ b/ports/qt5-connectivity/portfile.cmake @@ -1,5 +1,2 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) - -# Disable parallel build -set(VCPKG_CONCURRENCY 1) qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-imageformats/portfile.cmake b/ports/qt5-imageformats/portfile.cmake index 998e682dceefc3..abd88a60c27e1d 100644 --- a/ports/qt5-imageformats/portfile.cmake +++ b/ports/qt5-imageformats/portfile.cmake @@ -51,6 +51,4 @@ set(OPT_DBG "TIFF_LIBS=${TIFF_DEBUG} ${LZMA_DEBUG} ${JPEG_DEBUG} ${ZLIB_DEBUG}" "JASPER_LIBS=${JASPER_DEBUG} ${FREEGLUT_DEBUG} ${JPEG_DEBUG} ${ZLIB_DEBUG}") list(APPEND CORE_OPTIONS "WEBP_INCDIR=${CURRENT_INSTALLED_DIR}/include") # Requires libwebp[all] -# Disable parallel build -set(VCPKG_CONCURRENCY 1) qt_submodule_installation(BUILD_OPTIONS ${CORE_OPTIONS} BUILD_OPTIONS_RELEASE ${OPT_REL} BUILD_OPTIONS_DEBUG ${OPT_DBG}) \ No newline at end of file diff --git a/ports/qt5-location/portfile.cmake b/ports/qt5-location/portfile.cmake index 88721dcd310bf2..e96fab831345ba 100644 --- a/ports/qt5-location/portfile.cmake +++ b/ports/qt5-location/portfile.cmake @@ -1,6 +1,3 @@ message(STATUS "${PORT} has a spurious failure in which it is unable to create a parent directory! Just retry.") include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) - -# Disable parallel build -set(VCPKG_CONCURRENCY 1) qt_submodule_installation(PATCHES clipper.patch) \ No newline at end of file From 157a133e0e4d0a598a5dc698aabb0e7ad9049e6f Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Tue, 28 Jul 2020 19:39:35 -0700 Subject: [PATCH 9/9] Add condition when there are some file conflicts --- scripts/cmake/vcpkg_execute_build_process.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_execute_build_process.cmake b/scripts/cmake/vcpkg_execute_build_process.cmake index 9da6cec9f57baa..67607d768685a7 100644 --- a/scripts/cmake/vcpkg_execute_build_process.cmake +++ b/scripts/cmake/vcpkg_execute_build_process.cmake @@ -61,8 +61,11 @@ function(vcpkg_execute_build_process) OR err_contents MATCHES "LINK : fatal error LNK1102:" OR err_contents MATCHES " fatal error C1060: " OR out_contents MATCHES "LINK : fatal error LNK1318: Unexpected PDB error; ACCESS_DENIED" OR out_contents MATCHES "LINK : fatal error LNK1104:" - OR out_contents MATCHES "LINK : fatal error LNK1201:") + OR out_contents MATCHES "LINK : fatal error LNK1201:" # The linker ran out of memory during execution. We will try continuing once more, with parallelism disabled. + OR out_contents MATCHES "Cannot create parent directory" + # Multiple threads using the same directory at the same time cause conflicts, will try again. + ) message(STATUS "Restarting Build without parallelism because memory exceeded") set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-out-1.log") set(LOG_ERR "${CURRENT_BUILDTREES_DIR}/${_ebp_LOGNAME}-err-1.log")