From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 3D42D159C9B for ; Thu, 1 Aug 2024 07:05:55 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5AE6DE2A38; Thu, 1 Aug 2024 07:05:54 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 3124FE2A37 for ; Thu, 1 Aug 2024 07:05:54 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 20F9D335D1C for ; Thu, 1 Aug 2024 07:05:53 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 80EED11B6 for ; Thu, 1 Aug 2024 07:05:51 +0000 (UTC) From: "Eli Schwartz" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Eli Schwartz" Message-ID: <1722495025.943614ccefce87dd83cbaf99849726eb481311ab.eschwartz@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c++/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild X-VCS-Directories: dev-db/mysql-connector-c++/ X-VCS-Committer: eschwartz X-VCS-Committer-Name: Eli Schwartz X-VCS-Revision: 943614ccefce87dd83cbaf99849726eb481311ab X-VCS-Branch: master Date: Thu, 1 Aug 2024 07:05:51 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 9ba7be21-1db3-4146-861d-9799d46779a5 X-Archives-Hash: 2f9f42717796a9b8c69b09fffcdd50eb commit: 943614ccefce87dd83cbaf99849726eb481311ab Author: Eli Schwartz gentoo org> AuthorDate: Thu Aug 1 05:05:39 2024 +0000 Commit: Eli Schwartz gentoo org> CommitDate: Thu Aug 1 06:50:25 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=943614cc dev-db/mysql-connector-c++: fix tragic overcommit of make jobs Internally, this builds additional dependencies inside of cmake by having build rules that run another cmake. Inside src_compile, make forks out to make -j$(nproc) at least once, and perhaps even more times (this logic is part of their generic handling of included dependencies but we may only be building protobuf that way anyway). We end up with a minimum of two times the number of reasonably safe jobs to run, your system resources get clobbered, and everything freezes until the OOM killer gets involved. Golly gee, I *wish* it were merely ignoring MAKEFLAGS. Then we would eventually succeed, except slower... Closes: https://bugs.gentoo.org/921309 Signed-off-by: Eli Schwartz gentoo.org> .../mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild index caa3194fb0eb..4e04ab88c292 100644 --- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild +++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -34,6 +34,16 @@ PATCHES=( "${FILESDIR}"/${P}-jdbc.patch ) +src_prepare() { + cmake_src_prepare + # ignores MAKEOPTS and runs recursive make -j$(nproc). Clobbers jobs badly + # enough that your system immediately freezes. + # + # https://bugs.gentoo.org/921309 + # https://bugs.mysql.com/bug.php?id=115734 + sed -i 's/prc_cnt AND NOT/FALSE AND NOT/' cdk/cmake/dependency.cmake +} + src_configure() { local mycmakeargs=( -DBUNDLE_DEPENDENCIES=OFF