From nobody Tue Jul 28 14:37:26 2026 X-Original-To: ports@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 4h8dNL6fzzz6mrbs for ; Tue, 28 Jul 2026 14:37:38 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic312-23.consmr.mail.gq1.yahoo.com (sonic312-23.consmr.mail.gq1.yahoo.com [98.137.69.204]) (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 4h8dNH4CgNz3JBL for ; Tue, 28 Jul 2026 14:37:35 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=skl+Dc7r; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.204 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1785249453; bh=/IUS5LeGkHYaNMyaJ6x+VAOyfyfTIIN9o7qXtE7CAYo=; h=Date:Subject:From:To:References:In-Reply-To:From:Subject:Reply-To; b=skl+Dc7rTPyGlhHZpAjgtlbIGnCRhtO1NS+2vitLqTqU5MzPYy1NnUUE/Z0LezLe4B1y3Ds+8daiT0ktEDDdWZIog5n/a4/F58kBGhbFmKyefF34dYEpW9h3qqFZiHz9qoAKZC8U86fyZTuhigXjmldLYQNJgrOHIJGnywg+pfVOgFGHbFsF1aq5t6HcjLb2qzh6xOEThxxKwEBqSs0n9sGTfR00qq24OFQkf+cL5GCNHuuO51p3DLRzO7EOTsTtu/E0M5NyjFs7bjL80IKcPpEnkvFgbOk95Dvk5qpxBkmte2Unl6eDg/2ieGzlFn51fXe+okHqUWYz/fGtlgdcSw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1785249453; bh=BKdrrGHic2UO1qXzHcMK1d8zlgk14PfEVnJoz8igrlB=; h=X-Sonic-MF:Date:Subject:From:To:From:Subject; b=o2dfeBqItSWP4WCY29ssFFkMQL+9MF8SuO8KL+j58wh12Du8ZNca5TUL0Ij+VjGhpWvlnIvkBxm9Z96EjcY0E0KQQOW0vfZSUxP4L0dPFRxHclprwE3RQyLUOqlLBxUmIYkXFRxqdtjxXFRnjSlfrxOyOmdfBLV/zE40te3YyXEBjp8RW7oBGL9jlRCZtDGwcx68BUznQBa7Y+ibtT4FsBC3lWj3f9HoOHpxQ67MEYtfFm+9V6qa+40YYEzPs0xMjJQ3Vj8Rzl3ao1CHlsCwNukjm74pHeVw1c/DdGvXPdDg1XPm74TnrxhOx2RYbMIjT/KuqkCw0xxYB4/Awwduhw== X-YMail-OSG: YsRAYQkVM1mO45U_4FTKGt8PNR2pjiyu96XBeglmb8HugPZGCkwCFPG1GTYI1uD eSczPT70PqzLp0._0QPGXlXvzyKM4BgTnr3abTfQGRPhJ3hx4ILkPdyAI5jkKp_9EAZIdMYPHTaw 6MS6UB5m8tanijP6il2yNKZpJ0.8qSjwxlK.gfTszUVxIXwgj.xXE1HseK3BUgA2gbD6hGFr4QvC OzasWQJaVfSqu4ndeoO7JhWe3LDzbmOIWbhGxZSYUYDDQ.mWrdX_DDWEIJtdv2OHjqT5Qi3fJ1Ds drcVbxnYZZIdtCCvM.qf8hXHaAOg2F_GMZb.BDxGmgbs6tywhTnjyayiobvLrh6LFXs2XXJgZzbk MRnn4CBI1qOzkkfNXleocP4KUESsmhrkovcjBs0oHCJ_BrHqJ9lzvW3LPXOFNvAujZ_dDKuyR3gG _wcyu7T7JAmfPrKxq3tkc.wRCoxABwXeFq15Uts15i8bH8hdUcYlbDeSoh62cUPseFZyQ7WR9tbD K8oJWaZECnK_WDKHeNeLudWdymIUbaFH9W1F_OmlJL7Zg.dQw.sPzZvtDlb10Ct_3iPVIx62Ncbm 6LF89v6KyyAVmUoWoBq2v0smJtPFV1mhfhOBcvxLGvO74TPlt1iaJYUdbhbohXZcpXBCzO6l08d6 pE7ac1aVsK0ZQ2pDrcEw4Ob3HDRAR2MwJf3cp.wdko0xJrwr8foBPRx1DeTe_3KiwMctMhxXIMS. Dq8_CvQKvm.3SNTPY0TRA2KIrc0lzGRwPgImRdftnK6cWNrIpeJJ6ttt7pLOghKarZUvCeQw.tn3 iyAjdd3bZ9UjSwPCVv_x2W9ThHmKWOSSjAaUd7AtldWrMrUUhHAUGoWIntdRcYg3SnHPAA9FbUIG J0b.TcUp27lK4Y5Cm1vcKzdg2NfpI5ho5LDadNWQK86.K.3GEJ4S.vj46lgYZPOUWnoBnp4N9aX0 eb74zdmo7fr0ZXBqc2O5fRAsYjn9xcyBM_NYuzYvTzbklrdWn04iEck3uK3MLxsCMLuY05gNGESq XhL72Awr2qrDoqVmdbfirckUzoOUQfRG3QZHofE.6nK1UEUjmBCUi99zswHoUmaPxGkdcUn1USTf p1LpAupY4jMkBBK9v1nNunbvJIgnRfZE_phZRv41egnTCRuT.rlZ.lRk5G1Vjki0NRPgA3mNa4H8 SarYlVhbKQciP9Xg5rr8MZ4pw.pbNUcXsNlLypCPWuygfoWGIeBukAGbd1nO1hbCt4U4g9wYjYx7 pfeJy1vn_kH3.Ps6eeVwJkme16CVPld5K1OTb1g9kEx76kbI7_Dhul_xK7fYn27OeRQsfVUZmwk2 WQQjiGNTgJgpPLUEppi3eqsb5QF0gGks5rb4GgZtfCJ3eg_SNd4gTN.MUVOX2p5uUxOqitdKz5oz g07cP5uQBXc7TMRhsS1Refqse7yG4ojqWzvGqLJA5boaTSdiKqrxdHEoVey_CLrmTEJ3CgKPOj2y iVSwTwISWERFbHrEa6U0zyMOPmmAY8hR.2.MNbl3IYAKD5HHLrCK0DSSOWxWe9dULurSGlPgCkmQ Q6SJW7DdxRGMKjyT8VFdOkI5HLdQeY4zi7R344XGbobpnMkAHMj_q8bLbaYgRwGT.0wW1GArpPM. FyaXTJn8eKtD1EYPwdYnNUX8wPOkPWWqWBO5FKIXJb74ZOZ.8etgTT5bPwk7qaYy_MivxwVkeUG8 KhhWK8ISLhGrKItEH6HyQ60MvC6Y56W8pNqiVrJY4iofw4_GQ.8aoJPq8c8jFRnJd7ypOVbiP9DE sJva3c9W1QBDogMx1FfeYYOFAHhipgDeWmXhklh4.okQw4M0phjsEDckdQaGY0en52eN9g3tuGHf MbQOypJeXJRDgZIykKGf44F5wnd6K6mOTMmtAoGh_R.OIAqLRoPBYOn78UfmA.tlJct7fMqsVAhP DETYeifRvIul98mf9kIveR8t9qW3me129srYeHyEwg_MjCIF5ze7EdwhrbBBl6ltXQi8rPcMTJRg ew0BCfbktEKCLdYnj8bWvPRVVc..S.I92vamief.GaKYvmTzjmmz056SuUTUoIf2pD6jnJPjQvYU n4T0TruwZu2wmHdZoCICeRoOPpZsyc5nFefjkDrrJp_q6j2tzd1yYSWRR0dp2LKV3jw6Yo6Nvkk0 JYUWWhOQLCc5xgkmRb5vlopzD18rz8FW8QFuqBiItFmvqM7l0_z.wwEBz_IeBgVVSf4vxG5vKvlM JvDyTGk91.dlZH3cyxF3l44dli_tv1TEUsz00gq2P5_122C1FmXF5XSLqtuERZm6wNzI9TavkfGa tUQBRFEXzmOyGcd3BJeg0HjGMjgtT83EUjFqITorG3HIGgS7NFTI- X-Sonic-MF: X-Sonic-ID: 5dcf1d76-622d-4c91-b27b-6125e032d00a Received: from sonic.gate.mail.ne1.yahoo.com by sonic312.consmr.mail.gq1.yahoo.com with HTTP; Tue, 28 Jul 2026 14:37:33 +0000 Received: by hermes--production-gq1-7749664df-w6k6z (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID b2f364b3084e0951e3e5cba318b43e18; Tue, 28 Jul 2026 14:37:27 +0000 (UTC) Message-ID: <56f4719d-0400-4883-b191-7e415d329a5d@yahoo.com> Date: Tue, 28 Jul 2026 07:37:26 -0700 List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-ports@freebsd.org Sender: owner-freebsd-ports@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: What is a FLAVOR and how to unbreak ports? From: Mark Millard To: Steve Kargl , ports@freebsd.org References: <6ce75735-75f7-4852-814c-91b8105692e6@comcast.net> <3f997b54-c1d1-49a5-9205-6019ce828cf5@yahoo.com> Content-Language: en-US In-Reply-To: <3f997b54-c1d1-49a5-9205-6019ce828cf5@yahoo.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Mailer: WebService/1.1.26215 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-Spamd-Result: default: False [-2.96 / 15.00]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.96)[-0.955]; 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)[comcast.net,freebsd.org]; RCPT_COUNT_TWO(0.00)[2]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; 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)[ports@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.69.204:from]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.204:from] X-Rspamd-Queue-Id: 4h8dNH4CgNz3JBL X-Spamd-Bar: -- On 7/26/26 22:30, Mark Millard wrote: > On 7/26/26 19:43, Steve Kargl wrote: >> On 7/26/26 18:41, Edward Sanford Sutton, III wrote: >>>    Flavors are a way to have separate packages created for different >>> configurations of a port. That way users of pkg do not need to go >>> manually build software for relatively common software variation >>> possibilities that they may want or need in place of a single default >>> set of options. >> >> Yeah, I read the porter's documentation.  I could not find where >> it mentions a comprehensive list of the FLAVORs.  There is no >> discussion of how one can query for the list of FLAVORs. >> >>> On 7/26/26 13:18, Steve Kargl wrote: >>>> On 7/26/26 12:51, Gleb Popov wrote: >>>>> On Sun, Jul 26, 2026 at 10:43 PM Steve Kargl >>>>> wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> Updating a laptop that had a year old FreeBSD on it >>>>>> to top-of-tree. >>>>>> >>>>>> % portmaster -Byd --force-config sqlite3 |& tee sgk.log >>>>> >>>>> Try updating libclc first using portmaster or plain make. >>>> >>>> I did try plain make in libclc.  See the end of original email. >>>> make dies with an error about llvm15 no longer being supported. >>>> If llvm15 is no longer supported on fbsd 16, then the libclc >>>> Makefile should simply skip trying to build for llvm15. The libclc Makefile's: .if ${FLAVOR} == llvm15 BROKEN_FreeBSD_16= Base libc++ is now too fresh for Clang 15 to compile .endif seems oddly placed, as worded. It would seem better placed in devel/llvm15 if the wording is accurate. I'll also note that stable/15 and stable/14 now are llvm21 based. So releng/14.5 and releng.15.2 will be llvm21 based, not llvm19 based. So, if the wording is correct now, the broken list will need to grow beyond FreeBSD_16 in the future: the libc++ wi update to be like is now in FreeBSD's main (16). >>>> >>>>> Figure out what flavor you need by looking at the installed >>>>> package's name >>>> >>>> That's the question.  What is a FLAVOR and how do I determine what >>>> FLAVOR is the right flavor? >>>> >>>>> pkg info -x libclc >>>>> >>>>> If going the plain make route, append FLAVOR=llvmXY to make invocation. >>>> >>>> Is there a comprehensive list of FLAVORs?  'man make.conf' does not >>>> mention FLAVOR.  Is it possible to set FLAVORS there? >>> >>>    Flavors are a property of each port individually and not an >>> externally defined property; some different ports use common flavors >>> like 'nox11' but there is no hard rule to it. In the ports tree you >>> can list flavors with `make -C /usr/ports/devel/libclc -VFLAVORS` and >>> drop - C if you run it in the port's folder. >> >> Well, that's inconvenient, > > If one reads enough Makefile notation: > > # grep FLAVORS= /usr/ports/devel/libclc/Makefile > FLAVORS= ${15 16 17 18 19 20 21 22:L:S/^/llvm/} > > So: llvm15 llvm16 . . . llvm22 > > llvm15 is being reported because it is listed first and that is the > default default-value for a FLAVOR. (There is notation that could be in > the Makefile to have a different default without adjusting there order. > There is even notation for finding out what llvm vintage is the > port-infrastructure's default --but it does not seem to be in use in the > Makefile. > > I've not kept track of portmaster's notation handling but a common > notation could be: > > devel/libclc@llvm21 > > (as an example). I've not recently checked which value LLVM_DEFAULT has > as the upstream default ( 19 ?). (I force my own preferences locally.) > > MAINTAINER= x11@FreeBSD.org > > So: likely no one is keeping the FLAVORS list up to date at the low end > of the range where folks tend to just stop trying to use the old > versions. At the upper end it is more obvious when an addition is needed > and someone takes care of doing so. (Thus, 22 is present.) > >> but that make command should be provided >> in the porter's documentation.  At the moment, portmaster dies >> with some mystery error.  Going to /usr/ports/devel/libclc and type >> 'make' leads to all sorts of fun.  libclc dies because llvm15 >> is no longer supported; so, well, the port shouldn't even try >> to build that flavor. >> >>>    For manually running make, `make -C /usr/ports/devel/libclc >>> FLAVOR=llvm17` would be an example of overriding it. Not sure if there >>> are other ways to express it. >> >> That's the problem.  There are apparently 8 flavors.  How do I determine >> I need llvm17 instead of llvm20? >> >>>    Some changes I assume should happen: >>>    1. The default of libclc should be reconsidered if it is broken on >>> a platform unless it is being actively worked on. Why are we >>> defaulting to the oldest compiler, a compiler not included as a base >>> compiler on any supported FreeBSD version, and not even having a >>> comment as to why? >> >> Good question. >> >> >>>> In the old days, one could cd into any directory under /usr/port >>>> and simply type 'make'. >>> >>>    Unless things are broken. Having been building things since 2004, >>> you can usually find broken things when you look. >> >> I've been building ports since its inception.  In fact, I was the >> maintainer for lang/f2c and few others prior to the creation of >> portmgr.  portmgr broke lang/f2c, I received daily complaints it >> was broken, and it only wasted a few weeks of my time trying to >> figure out what portmgr did.  I dropped maintainership decades >> ago due to that experience. >> >>  at over 30,000 port >>> folders, its hard to have the tree in a state where 'nothing' fails. >> >> Sure, I find a number of issues every time I need to rebuild >> ports.  I fix/workaround the issue and move on with life.  The >> math/arpack-ng port now has a mpich and openmpi flavor, because >> I got tired of editing out the hardcoded use of mpich and asked >> for either 'none' or 'openmpi' build option.  Unfortunately, >> math/octave has a hardcoded dependency on arpack-ng@mpich.  Fun >> times. >> >>>> My actual problem is building devel/node24, which dies with an >>>> error: >>>> ld.lld: error: undefined symbol: sqlite3session_patchset. >>> >>>    I'd have to see a more complete error log to guess properly. >> >> I've found a fix.  It seems that node24 requires sqlite3 built >> with the sessions compile option set.  For some reason, it was >> unset when I last built it on my system.  I suppose default >> options change over time. >> > > -- === Mark Millard marklmi at yahoo.com