From nobody Fri May 15 00:24:51 2026 X-Original-To: freebsd-pkg@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gGnyk2Zkxz6cQmV for ; Fri, 15 May 2026 00:25:02 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic310-22.consmr.mail.gq1.yahoo.com (sonic310-22.consmr.mail.gq1.yahoo.com [98.137.69.148]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4gGnyj0BQMz3x4Y for ; Fri, 15 May 2026 00:25:00 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b="B72LmN/v"; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.148 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1778804696; bh=RvQb0KO5tchB/awNoPiPX9h1lkFrfbjajng9SnEN1u0=; h=Date:Subject:To:References:From:In-Reply-To:From:Subject:Reply-To; b=B72LmN/vRducRxOtuv+3pmpR28DdhC1QLAYTmbF1ssLVYVZFmNM5v77ELtbdzOBYxhVx69hF1Un7NhHdH7ciTvHH7BFgvO5TLQLoEt/egEHCEvcfhdlMn6aL23dJkqP0zRfGJBUEgGZOm4CnIs6ayFQ8lCuECCpVlIbv0uaJI8uMUA4l8Uu1glpKcyB0tkUPAFn3Bd3mljnee35NAyPzaLrFHru4Z15GvO/QfBxrP9VJDxvlMTc1AMbusacFiLoV05DGS6u8ynUQea7AFW549b6AkjWs+Fj9xwSGJXnQm33d1utxQ5Bv3wOe+qHvndk/3Kd5prkkhZJYmaSSK3afvw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1778804696; bh=wQdv4HllBMY3V3dlyX5Sm/FcefwGytQb5wW9Ovz7Kjd=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=DFfl+tp6zt7jT4VOcBMOKQ3c8k0og3fITxx3FaSBdEaCkfXk7LqFkimy2TPhvKqYa8MtRqa6B/vVSjVP41b6dCiM2P46HW/gJJETRrzyMUc+GaW8XOYFmhn+hUoLJFc1jsbbi+3tJtVGGeiMZjTi5v7VBvopJ0bp2rUd0doQr+vleNp5OqtDjS+8vWy4yArMZ37NUI4XT4dh/huEzflgPzoaNWVViF+OvW9BlxWUB134f8i5noQmzVJpvV4PUz7VEwCL6d3AA2UI0/bh+AqqIPDi8Ceb1S8DuxYmqhFZJuDXPsZjVZ9bhW35q3moNR4+6/ntRpgLxZj+nj6FYDpvqA== X-YMail-OSG: n1V5ItIVM1mAWfriZs.w6JpmxONKgS4.rBQosBW0XzrEHaUm8.lwXyKH0wLLxMV cZGKb27HscrxUIMLdmfHhMXSD9AecbfwiTXODu6IR.rdagkxXbVWEh6TrUwTwkVIgOcYXmmsxIXn ljmZBrzro5u2U23Uolo.Kxue4zxFQaCdUxkSsXnLzkVoTYk.kkWPYOhQ2bTtZk17EKk89uf9FbAg dBON39VWNblpXfhnlVKQrWmAeCwV.fBHeqI51mRoNdESGzEXQAaB6ZraYBOAzvQ9E.8io3_hGqB0 OrgUthj7E0g_ZCh6FIKBPhZOd_TiYU5cWhK6wXxrvEwmrlNE_0ztrR8L6JIgAhk9eb1aTvXIOZuF kZKBPRkUsENZ.g83DYEW7puvrkGohhcriJ0Auf6XZaXgprXaJBiETjOb2Zb.ogC3xeinkhn.zrke AeLUAVWhgAurqehamKEySzPN1jzThiuIjJcRoqhpzjSfzZ7QnU51Lj9DL77SHzPVkbrvWbVMtxvZ o75fQByzSJLRFRazp1rEy9TyeVW0nfOD0ej9mrCNaU5zIXHrpzEC2EaR8uHNQomSng9bkZX88S2h d71IXDcvIlK76AMtIMjQo_7AdngWhOw9Fh4Rhei3d.N2FWJnDZR3J9QXrWf3p_6hhNiF9fPhHHYN AIHxFN9DOfGq.FjQK6K4J9bYL6QTZ4opYL_aq_bRw.87ay1JlR49Ydz9Kgg59tONPDTbGHkjWCY5 IsYK8MkXaXyXUMQPSBwot7UqJH57.Dbis85_IOvrJMTZzXbGAFzecdc36r0yG7HlYIS4HiIqL2uu 55erDBOBrYPbzVyY6pKP74v6eVEzITLMUD0drDtFKAirNP4nTkwEsZx_pmaW7vYR_ArGOraFucve 8zB082WZa.D5EaTgKZEBykVmkUUWL8vyFLD5xkP0KJMb7d7vklBkmnrBM3WsfXurmfmOsQDwxGhQ vtucw05zKCefWPIZse0.i3sdIzx3AXdSUie9qi5A5VgyLS1v1juUB3RY6E4QtB.vpL2gTd6xGkc9 sbBq66qqrGCA3yBR81aGBJKIBmay6GUDHLQBxiM_z1pP6OPeTtlPt7EWHtYKfYGkPbaCTV.b_FeS K8_CBJsUghWjdCFGY_syQT89am53Ljkjf9cdPEt3RjiBtEVsEgAnh_oGreipLe__voSTUWC94VRi o1Tu6SxBRJlxelDi3VLcHaJI1A2y6Ei59v005c6B0FWefUBouoO4sLUMKC3vc9ygzELkLyjNuYbd irpEDaEfRIUNIbkS3SvWwd5afflfO.eV7Pf6aI4B7763b.g_xy31kqiBFoC91yLe_YgzO50BjFUa f0LyRcK2H4V9V2R_OaLu3MSrIEL.IjPnTuTCV5tU1EMChKCbbmJZpoaIWPf95FuVnrVuPfHc47rq b0oKLElI8iWMC4.u75dup930LNPPG7qI7ToP3w2AKMHG1B77jWAhK93XvajM.4hqdaj6h6ju2yPu J.N8.U7i5.Szx6xrAiGdKR91v.xGBP8381Iv6gDzz9TLYZnJTi2cjdOc.v3w1UtLG6V4epbQfXN6 wFO47QFxLGl9WsOMCQSTPVTSsTFFbcdHhEiLjQrQtiS0qSrucmolyk_E1oaCMkzDpbMgFetrjLAx zW5.PT_c55_AF9_X6K2Cp.wKVgTRLJUnW.pEesSK8fLj2YKFNyxz3u_mubClbw4GMyeBZz3bio6R fxI7EMVND4MGdvhD4i_McGYFLc5Bluya0Dda1aC9YPKv7lzTDyOlQyEounrTvQ377_t9SD5xHump yvbVog7iiFEMPiGVVjCmn1RQqVt1kuVX0t9YCS5VFwtr_6LUHaCSmpAH4nkqXIMLGv1uExHVUgv8 N8b3Wc8Q1m8rg4AOeGO40gwa0doSNgrTtBaWKIbmG64NlAdXaeBI8tLxI6YnFv5VOgJnmoGICOXf 6iHqjXCwXsrQrNwD0Nq3U55KOL1dn7scO6RmwNb.wgFyW6PVQdH5oKsbdemR8X8okfcONml120Ev 12ip.ofSf2MJZg6yyypucxyio8.kGxgdwoC1xlbSJSmwCte_kMnQ_XGXD2dzMIAM91IeB8e0ZOhw ImU.nJ3zkCcEx0uBpUR_QF5Ss1w1ozdDZhLm03oIQzCL8kxIo4eAcjpXbmr80Bq0EPJc1pSUkAnk MnoDxn_s7jPT6PhAYugSJsGUCnpBswE92VnNo.dUA_RYoa6Rg29gNapeHVwxA6zrcCpLQi79yz66 dTE1eQzmnfa7.R1qWSK2w7aJEQQ1.ggqTTgz_ZNreu4_5oTmTNOpsT1EohwNXcx_QoPMU0M30300 PU_UL25qpytpJqTPspJkMJfnls3ReqhZtIGjHqH0da4i0OrOu X-Sonic-MF: X-Sonic-ID: f5e7e29d-e321-4393-b0d2-7bf7f707ca04 Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.gq1.yahoo.com with HTTP; Fri, 15 May 2026 00:24:56 +0000 Received: by hermes--production-gq1-7bb7df5c46-wmvqp (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 2da6b107cb124ccce044469487769746; Fri, 15 May 2026 00:24:52 +0000 (UTC) Message-ID: <7a469eae-3712-42be-9100-e5a7354d14db@yahoo.com> Date: Thu, 14 May 2026 17:24:51 -0700 List-Id: Binary package management and package tools discussion List-Archive: https://lists.freebsd.org/archives/freebsd-pkg List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-pkg@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: circular dependencies in ports tree - how to fix? To: void , se@freebsd.org, freebsd-pkg@freebsd.org References: <7867e0cd-76fd-4b01-b465-bb06696e3d97@yahoo.com> Content-Language: en-US From: Mark Millard In-Reply-To: <7867e0cd-76fd-4b01-b465-bb06696e3d97@yahoo.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Mailer: WebService/1.1.25725 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-Spamd-Result: default: False [-1.41 / 15.00]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.999]; NEURAL_SPAM_SHORT(0.59)[0.586]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; FREEMAIL_TO(0.00)[f-m.fm,freebsd.org]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; FREEMAIL_FROM(0.00)[yahoo.com]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCPT_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; MLMMJ_DEST(0.00)[freebsd-pkg@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.69.148:from]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.148:from]; RCVD_VIA_SMTP_AUTH(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim] X-Spamd-Bar: - X-Rspamd-Queue-Id: 4gGnyj0BQMz3x4Y On 5/14/26 17:03, Mark Millard wrote: > On 5/14/26 14:18, Stefan Esser wrote: >> Am 14.05.26 um 15:04 schrieb void: >>> Hi, >>> >>> On a 15.1 poudriere jail with latest ports tree, the following happens: >>> >>> [00:05:30] Sanity checking build queue >>> [00:05:30] Error: /usr/local/share/poudriere/ >>> bulk.sh:pkgqueue_sanity_check:27:Dependency loop detected: >>> These packages depend on each other: run:libheif-1.21.2_3 >>> run:ffmpeg-8.1.1,1 run:libcaca-0.99.b20_1 build:libcaca-0.99.b20_1 >>> run:imlib2-1.12.6,2 build:imlib2-1.12.6,2 > > Looks like this does not happen with ffmpeg-8.1,1 involved: see later. > >>> These packages depend on each other: run:ffmpeg-8.1.1,1 >>> run:libcaca-0.99.b20_1 build:libcaca-0.99.b20_1 run:imlib2-1.12.6,2 >>> run:libheif-1.21.2_3 build:libheif-1.21.2_3 >>> These packages depend on each other: run:libcaca-0.99.b20_1 >>> build:libcaca-0.99.b20_1 run:imlib2-1.12.6,2 run:libheif-1.21.2_3 >>> run:ffmpeg-8.1.1,1 >>> These packages depend on each other: run:libcaca-0.99.b20_1 >>> build:libcaca-0.99.b20_1 run:imlib2-1.12.6,2 run:libheif-1.21.2_3 >>> run:ffmpeg-8.1.1,1 build:ffmpeg-8.1.1,1 >>> [151amd64-default] [2026-05-12_19h03m56s] [crashed] Time: 00:05:19 >>> >>> How to fix, please? If not fixable in the short term, would this best >>> be raised >>> as a PR in ports infrastructure, or against each port? >>> >>> For the time being, I'm going to try commenting out each affected port in >>> the build list. >> >> If I understand the issue correctly, the cause is that poudriere treats >> all dependencies in the same way, it wants to put RUN_DEPENDS into the >> buld jail >> before building the port. >> >> I'd expect that graphics/libcaca could be built, if the RUN_DEPENDS >> would not >> be depended on at this time. >> >> The difference between BUILD_DEPENDS vs. LIB_DEPENDS and RUN_DEPENDS >> appears >> to be that BUILD_DEPENDS are not recorded as dependencies in the package >> manifest. >> >> The ports system used to require building and installing of run >> dependencies >> before installing a port on the system. That was necessary since >> traditionally >> (before the pkg database existed) installation of the port had to be the >> final >> step due to the way "make" resolves dependencies. >> >> IMHO, poudriere should not put RUN_DEPENDS into the build jail at an early >> stage (it did, last I checked, a few years ago). >> >> > > An issue may be that an install of a pkg might run installed code, say > to validate operation. That would not be a separate pass after all the > related installs have happened to make potential cross-references work. > That may be why dependency looping at the pkg level of detail is checked > for. > > > As for the build: run-depends is checked between "build" finishing and > "stage" starting. The above was irrelevant, as was my original "supporting" text later below. The relevant output from my build is actually: [00:00:02] Sanity checking build queue [00:00:02] [main-ZNV4-bulk_a-default] [2026-05-14_14h59m17s] [pkgqueue_sanity_check] Time: 00:00:01 Queued: 263 Inspected: 0 Ignored: 0 Built: 0 Failed: 0 Skipped: 0 Fetched: 0 Remaining: 263 So the check was before all the builds but simply did not fail the bulk run: no loop reproted. The below is from a somewhat older ports tree that > allowed the build . . . > > Using poudriere -v so it is more explicit about when things happen: > > # poudriere -v bulk -jmain-ZNV4-bulk_a graphics/libcaca > . . . > [01:01:19] [01] [00:00:00] Building graphics/libcaca | libcaca-0.99.b20_1 > [01:01:19] [01] [00:00:00] Status graphics/libcaca | > libcaca-0.99.b20_1: check-sanity > [01:01:19] [01] [00:00:00] Status graphics/libcaca | > libcaca-0.99.b20_1: pkg-depends > [01:01:19] [01] [00:00:00] Status graphics/libcaca | > libcaca-0.99.b20_1: fetch-depends > [01:01:19] [01] [00:00:00] Status graphics/libcaca | > libcaca-0.99.b20_1: fetch > [01:01:20] [01] [00:00:01] Status graphics/libcaca | > libcaca-0.99.b20_1: checksum > [01:01:20] [01] [00:00:01] Status graphics/libcaca | > libcaca-0.99.b20_1: extract-depends > [01:01:20] [01] [00:00:01] Status graphics/libcaca | > libcaca-0.99.b20_1: extract > [01:01:20] [01] [00:00:01] Status graphics/libcaca | > libcaca-0.99.b20_1: patch-depends > [01:01:20] [01] [00:00:01] Status graphics/libcaca | > libcaca-0.99.b20_1: patch > [01:01:20] [01] [00:00:01] Status graphics/libcaca | > libcaca-0.99.b20_1: build-depends > [01:01:20] [01] [00:00:01] Status graphics/libcaca | > libcaca-0.99.b20_1: lib-depends > [01:01:23] [01] [00:00:04] Status graphics/libcaca | > libcaca-0.99.b20_1: configure > [01:01:25] [01] [00:00:06] Status graphics/libcaca | > libcaca-0.99.b20_1: build > [01:01:28] [01] [00:00:09] Status graphics/libcaca | > libcaca-0.99.b20_1: run-depends > [01:01:28] [01] [00:00:09] Status graphics/libcaca | > libcaca-0.99.b20_1: stage > [01:01:28] [01] [00:00:09] Status graphics/libcaca | > libcaca-0.99.b20_1: package > [01:01:28] [01] [00:00:09] Finished graphics/libcaca | > libcaca-0.99.b20_1: Success > > > For reference: > > The above matches: run:libcaca-0.99.b20_1 build:libcaca-0.99.b20_1 > > . . . > [01:00:56] [01] [00:02:24] Finished multimedia/ffmpeg@default | > ffmpeg-8.1,1: Success > (not matching run:ffmpeg-8.1.1,1 <<<===== problem source?) > . . . > [01:01:10] [01] [00:00:14] Finished graphics/libheif | > libheif-1.21.2_3: Success > (matching run:libheif-1.21.2_3) > . . . > [01:01:19] [01] [00:00:08] Finished graphics/imlib2 | imlib2-1.12.6,2: > Success > (matching run:imlib2-1.12.6,2 build:imlib2-1.12.6,2) > . . . > > -- === Mark Millard marklmi at yahoo.com