From nobody Mon Jul 27 08:25:00 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 4h7s8z36bMz6mc4t for ; Mon, 27 Jul 2026 08:25:07 +0000 (UTC) (envelope-from mirror176@hotmail.com) Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azolkn19010000.outbound.protection.outlook.com [52.103.12.0]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (secp384r1) server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail.protection.outlook.com", Issuer "DigiCert SHA2 Secure Server CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4h7s8y4Qm3z4FPS for ; Mon, 27 Jul 2026 08:25:06 +0000 (UTC) (envelope-from mirror176@hotmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hotmail.com header.s=selector1 header.b=XyQq64b4; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (mx1.freebsd.org: domain of mirror176@hotmail.com designates 52.103.12.0 as permitted sender) smtp.mailfrom=mirror176@hotmail.com; dmarc=pass (policy=none) header.from=hotmail.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vSZcu2KXa/eACGpkO/bUymfz07x5OFiu5Vwj9MnFr7T+SLS3+46V4fqs7LF+QkIt2ew1pltimKRSOie/kayNhaBuREtgSL4to0nxkh3BYU6YX+YPF8kcsrGKyZT65fWh7807fh+004ok9JNtvhxiJZygo7f2as5+g8ncQ9WVinIR5CCpJKYijiVqnNepHAjsefAXqhdB8mqcfGYZXA1TIfgWYOxiqbozv2EcCIgvJ0OC8dOuUHrBQFem70twG7XfQyYHD4oavDqutroYrU5mT67qVQlV94oNoyQu3X/0zG0i88QwXEABA9iznhOQhtvCXZQvHr/3VvVQjX8FM4UrAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fSVHOHwQ+mIm/7eSc5pIenNGlJ5UIU21wgU0c9ph560=; b=x8Oy122PhNshR32tzkfTWvMy2PYr9nJr+7asSCjM3Uq5u0MWucW/ImNyS1wR3McbpS4+o18JTPdNNMYwOEV8EQlh+tFi74LFtgqBDvzo0pWE1ghMv94pAAUwYexwb6A055a5h+4oMZr03V5D0PhaD96KRycJI3giQkufGOoo3Yo4RPSXm4l+jk6bL6fingdnmB3OnIlVNj5+rTIFm18N2VdY1K42YnB6FX26D0y4z/VVKYK/T8mGfKqrHSuKRvrseYFF4nX7lmQksEcgDuiZRjuRWgb4QbgzBxr3hMQW/YbryqZMpXwaVYAZYgj48F2zalHoAQqyqSB6g2LqKpP4oQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fSVHOHwQ+mIm/7eSc5pIenNGlJ5UIU21wgU0c9ph560=; b=XyQq64b4AE4kDcRwcaB1L0I+Yv1RaD4nToQ6IYx0N/oV8Trttrijxps2O8wxB53d1H52PRvGIhJPBwBjWCx+gZhg3ik4TaPru8NebTvbIxfMQiwRo7C2bzSnv7xydUjnWMEOzZagwezjXr7tF+IdYkDszl33m04cbme7y+H8SHa4yFiorZVkGv0i8C0azhCEd8P38ngRgC6HHrIHQeEfoiVMBnewPiK+PBQvrgHTzlx1VA3v0dW+ZKK0Z1EgYwaWDrHCVs2iJy3eZLP4w3D2WGm1LabptIHJWnna+a45/OuQmgigB6zLt47cvz46JinEvj40/Dhqp8wFEderHKYFjA== Received: from SA1PR11MB8811.namprd11.prod.outlook.com (2603:10b6:806:467::18) by DS0PR11MB7969.namprd11.prod.outlook.com (2603:10b6:8:120::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.13; Mon, 27 Jul 2026 08:25:04 +0000 Received: from SA1PR11MB8811.namprd11.prod.outlook.com ([fe80::5fae:75f1:3548:9369]) by SA1PR11MB8811.namprd11.prod.outlook.com ([fe80::5fae:75f1:3548:9369%3]) with mapi id 15.21.0245.009; Mon, 27 Jul 2026 08:25:04 +0000 Message-ID: Date: Mon, 27 Jul 2026 01:25:00 -0700 User-Agent: Mozilla Thunderbird Subject: Re: What is a FLAVOR and how to unbreak ports? To: ports@freebsd.org References: <6ce75735-75f7-4852-814c-91b8105692e6@comcast.net> Content-Language: en-US From: "Edward Sanford Sutton, III" In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: IA4P220CA0002.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:558::13) To SA1PR11MB8811.namprd11.prod.outlook.com (2603:10b6:806:467::18) X-Microsoft-Original-Message-ID: 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 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR11MB8811:EE_|DS0PR11MB7969:EE_ X-MS-Office365-Filtering-Correlation-Id: 95e86abc-1ad0-4eab-3194-08deebb88ec4 X-Microsoft-Antispam: BCL:0;ARA:14566002|20031999006|41001999006|24071999003|24121999003|25031999004|22091999003|24021099003|8060799015|19110799012|15080799012|23021999003|25010399006|12121999013|6090799003|5072599009|39105399006|4140399003|40105399003|25131999003|440099028|3412199025; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TXJTcFZHRnpGRzI2dUgxcEZTRFBrblgxWkxGS2d5bXpNQ3pwR0R5Nk1pWGQ2?= =?utf-8?B?ZjN4RUJyTjg1Q0hUWm82ZDl6UmgxQTQyRncwbHdwaVNKMy8ybkNGbGx5bXlz?= =?utf-8?B?ckZCdzlVWjNMUUoyallXbm8wUHVwK3h2d1ZLU2ZVeFAzR2lXb0VGZTh4RkFa?= =?utf-8?B?RGpaWnlseDlITHpYL1dnNWtWWFBReDJpeElzMXpPKytMOERndU5pR2QzWUdl?= =?utf-8?B?RWpkdFNORjNXTkd4L0duVUVaTys2aElqSCt5WnNhL2dCSXgxMnMwTmN4ZjVy?= =?utf-8?B?Rmw2cUVkN0IrNDF5bnY1NGVOVkZEcFdlU3ZTZ2JsNmMrMmtkNmlsdzdndDhw?= =?utf-8?B?bVVpOVhKWU5pV3dTYS9lV2pCUWRzdzFlSWFUQ3pkVUdnU1JnZlc1Uk92dEZa?= =?utf-8?B?Ni9MZTNWWm04VDZiU05rTzJSYmdjaFExRlVaWDBsTmx0dmU1NzRhbk9aRCt4?= =?utf-8?B?UFh0Z1h3Y2hpL2xIMU9COGF6UjZYUHZvSytmK01oREpNS1VSVEZER29EbWYv?= =?utf-8?B?UEovNlhud2tnUG1VSWtCRHNrVEl2c0tTUld2bWtPdWx2LzFremZaaDhIa01u?= =?utf-8?B?b2hOMEFCNHplOTVENmp0a1dVQXg5U1M3SzJSODJSVGMrQnJWeXA5dDNrNENY?= =?utf-8?B?MjBBNFN2ZzZhMnRnUXdnampRdWMyeVY3bmFuMGFsYVR5NHZ1cnQ2N2FyVTI2?= =?utf-8?B?RlZZdTJCL2FuZldYODdRd0hMUyt0VWZaNC9kOUZXWDBUMGNLelgrNnpxTVhM?= =?utf-8?B?LzZ1UzBoKzZMT045ZEhrTVdWN2wrdG42WDBVTGw5WDVwWGlMZDhuWHVJSmtO?= =?utf-8?B?TFhscWdWbldKMmJ2WFR0ZHJIUUR6OVBaeGN6OGhDQWRSaE5PYWVRRFU1SXkv?= =?utf-8?B?endCVWQ0VE4xcDJzM0g4N0ZqeW1GUkg4UkIrSHA0bHpsMmZiVGNQTVNmOFN5?= =?utf-8?B?L3JYdEZsa1N6OFZrSnBiQ05KcHphSFNqZ1kvdTU4VlZCVUpvRW9mNkF1SEhG?= =?utf-8?B?cWU0MUZtSzdaS3dNK0FoRkJYSDdhYUtsT1pZOUtpRjdVQjc4UWRRMXc4MXNi?= =?utf-8?B?dUt1U09KRnllM2lZT2MzaTZZdzBhQk5saU8rZmxQWlM5VndFOENtOE4vSGlG?= =?utf-8?B?V21udkRTM3BxdTF1aEE4ZndwMys4RXpVa1dJaWlZOEpuL2ZFRzlDUnk1OVJu?= =?utf-8?B?WnMwYkNIMGFRK3MzRTdiN3N4bHY1SkYvaFVQN2NlVVRsV21udVZOU0QrRG4w?= =?utf-8?B?R1pWMkh6R0pTU1JmQ2JzU1RBTFVkb3NFdFIxZG1sSFBzcXJZeE1LMzBpcEpZ?= =?utf-8?B?bXM2OFpCb0JHeVN3TUJDcTJvMzlnNVBraGR1dE9zTklIZTdoSjlsaEFOM2Ri?= =?utf-8?B?Y2VnallwZ2s3c3FSU2VydGVBV3dDU2tXYVZLOE1EMmdsTXRWcmVMMkVNcTdH?= =?utf-8?B?bDdrRVVFSHMxYTBmN0VnWmJGQ1JBZUdKUkV6V0ZtaDJ6MklpR01QUjdXNGdq?= =?utf-8?B?TEt3NjlnczEzblRaR29TSXA4aUNuNmNNYmJRSWhXNDZKV3JLTEplY2ZUd3VO?= =?utf-8?B?NEFFSWp6U3F2ek04Z0prU1h2eU1Td2VLQ3QrV0RheDdoUmlUZ0Z2Zk50aUJF?= =?utf-8?B?bzNyempBMTdzYmp0QmIxYXkxeFpmK3c9PQ==?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UkVRLzNSMzN1ODYzKzNjVStJUmVRbWo0eGYwTVZOeDNoZlF3ZlpwaFRBdWRt?= =?utf-8?B?YXNORkFYRU9UUnJBbURRSjJPOEpLS0htdzM0SDlJWmJUR2JjeXRDN2RqM0VI?= =?utf-8?B?MXZ0UVVlMy9mRUQ3aGdsRHBZb0ltbkl3dkg3L2ZNV1J1QUF6ZFNQWVZyQUZQ?= =?utf-8?B?RXpqVEppUm44eTE4U0xHTStMNmpIVXAyUTdrTGIrZ2kxc2Rqbk5yOStydzRN?= =?utf-8?B?WHNZdExCOGRPbngyRnBhNnh6SVRncVN6dVJlSXFiRWxyUGxkZStIdjNyQnM4?= =?utf-8?B?c1pyUXB2aWZ6SEhPMS9JdndnWjFRWExpMGpPaUZoMkkycVBuNFFZNlhVdHBI?= =?utf-8?B?U1FKSkR5RTVCUlJHNVRFeGFsaVRlVUtUMFdaK3pqZVVUYWhGemRxV2IvMGZD?= =?utf-8?B?THRFMDNGei9JQ1Y3ODNpb1NXOU4waFBkUUhHSjNIK2FJRGlHZkdUc1VQRFlt?= =?utf-8?B?NW5vaEc5ZHRhNzVnQU5tdzBSZWpHWTZMZ0dGTmxVelFENHI0M21mbyt5NjFi?= =?utf-8?B?Si9pdGh2WkxJdHhjZWU4TTl5S1lqWnRiVmZsdHNtbTkzVk52ajFjVEV3SE5N?= =?utf-8?B?V0F0aDZSNk4vbXpEd2wzN3puUC93WHZDN1N4Q2NlRTJWNHIyRHk4U1FZNTZM?= =?utf-8?B?cmdGVGVURTJVdDJxVzcxcnVrN0NmVjVZUllRR1BzbkwxVE5wWmJ5ZHdCTjhJ?= =?utf-8?B?NEc4amszNXk5UWhuTTYwbHB1VEFQUThiZVliRXJlY1pxUHlLbzQxRnk1Zk4x?= =?utf-8?B?MmJjdHlwK2FWSFJ2cEtncEg2SjhGWTBDT0ttRGE0MEZ0WndSV05lWFhPeStl?= =?utf-8?B?elNTbkR6aVJGTXpkWDNHWTJwRy9Cb2F6MmN3VUdERk1udjBKcDhGc1IrcWFG?= =?utf-8?B?YlZiRXJybEpaQWJBKzNNSndKUVNCVEh3TTNWWm9DTTZsMzBGVDRjOGRiMEZT?= =?utf-8?B?S09ac24wdnVRNTNSTzlXaVMyMEs5dFZ1ZlhvRzNuQm9RcDZ2YkZBRVBpRC9D?= =?utf-8?B?ZDlHSTEvR2t3bU1xaXVJT2ZWV0hpNk1FNW92U1F1YmVoTFJ6YVNkV0JvdlpO?= =?utf-8?B?VGFnbmFjckVMczZ0NzdtMDV1QXk4Rk1oUkloNys2Mll0bFFiK241YTJFdm9S?= =?utf-8?B?cEJOR0xpalo1dXdHNnc1MWZXUHhzNHJ0M2VhNHZFQnk3V1BUU2IvWmlTUUp0?= =?utf-8?B?UTdBYzg5eXJOL2tlcitsRnJkcmJYeUxoNHlOQTZEUm50d0QwYXZla2Uxcy9J?= =?utf-8?B?MVNpaVM5aEg5ZTlYZ1BaT05ndnUwc3ZRUFBqSjdCUG1aWi9QdzlrSmNHdWlB?= =?utf-8?B?UG12Q1hVNGc2bjNueFVTSkVTejY0QnJndTY0UFk3dUVSVmxYaFE5THpLMEE0?= =?utf-8?B?RXZudDVWeS9JQlB2RXNwL1BIVzRBMjNab3o5QTJaM3h0S3pTNi9UbzFCMllJ?= =?utf-8?B?dXFBV0pRekZjSHVxNFpOKzdFbEZrdUhnS1pTNnp5enpwSGtrdEsrL0ZzL1lK?= =?utf-8?B?Y3lzczl2emZkcUJRYVRDT0xHK2RxUjFTQ3Q3RzNUV2NNUmExQjlSeDdPVmlF?= =?utf-8?B?V3czS1E3eU1WMlB2Y3hRN3hvd3BmZm9ST3IwRnNqdnRlNUdYZW5OUGlCaDdE?= =?utf-8?B?dnNuemYxQm15V21VRHpLNkhMTDExZ2h5OWdnWjBITVI0RXgyQWJwVy80N2g4?= =?utf-8?B?Q0h1SVM3ZkJMUHNDMGdWZ1h4WlZDNHhBcHA4WHEzRHJYeEI2dVpnVWxDVGpS?= =?utf-8?B?MzY2WnNYaXd3WXIwWmllTmo3Mmt1NGc3aHNjVU9mZHoxM0src2Q1emprOEhW?= =?utf-8?B?cUx6Z1hxQjN1cml5dDJRUGdZM045UCt3bWtSTis0bkxOanRyYUpjdVFaU3ov?= =?utf-8?Q?dGT351ORXwd7A?= X-OriginatorOrg: sct-15-20-9412-4-msonline-outlook-a6b68.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 95e86abc-1ad0-4eab-3194-08deebb88ec4 X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB8811.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2026 08:25:03.8984 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7969 X-Spamd-Result: default: False [-1.48 / 15.00]; FORGED_MUA_THUNDERBIRD_MSGID_UNKNOWN(2.50)[]; SUBJECT_ENDS_QUESTION(1.00)[]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector10001:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.98)[-0.983]; DMARC_POLICY_ALLOW(-0.50)[hotmail.com,none]; R_DKIM_ALLOW(-0.20)[hotmail.com:s=selector1]; R_SPF_ALLOW(-0.20)[+ip4:52.103.0.0/17]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_ONE(0.00)[1]; DWL_DNSWL_NONE(0.00)[hotmail.com:dkim]; FREEMAIL_FROM(0.00)[hotmail.com]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:8075, ipnet:52.96.0.0/12, country:US]; FREEMAIL_ENVFROM(0.00)[hotmail.com]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[hotmail.com:+]; TO_DN_NONE(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[52.103.12.0:from]; MLMMJ_DEST(0.00)[ports@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[52.103.12.0:from] X-Rspamd-Queue-Id: 4h7s8y4Qm3z4FPS X-Spamd-Bar: - 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. Also not present in the normal handbook when talking about using the ports tree. Unless I'm mistaken, people shouldn't be directed to the porter's handbook unless trying to create or modify ports instead of just use them. Maybe I missed it, but I didn't find any clear definition of relevant variables and commands in /usr/ports/Mk files except as comments above sections of what is being done with blocks of code; normally many variables and targets are described in comments at the top of bsd.port.mk and if not then its in the relevant other files in there. >> 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. >>> >>>> 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? Maybe try adding the following to make.conf: .if {.CURDIR:M*/devel/libclc} FLAVOR= llvm19 .endif or the more dynamic FLAVOR line I suggest below for the port's makefile itself to avoid needing to edit in the future. I'm not sure if FreeBSD16 is on llvm19 as default or not. I don't think '{}' characters are needed but I have a series of these separated by '||' to try to override a different variable and forget if it worked or not. >>    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, 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. FLAVOR is the variable for how to set which flavor will be built and 'all' is a special value for building all of them but I don't know if that is a ports tree thing or a poudriere thing. If the user doesn't define a default, the port doesn't define a default, and a port that called it as a dependency doesn't call it as a default, then it will be built as the first entry in the variable FLAVORS. Valid values are supposed to be listed in the FLAVORS variable. `cd /usr/ports/devel/libclc;make -VFLAVORS` isn't a special syntax for flavors but just a general syntax that tells make to list the contents of the variable that follows the -V. I learned it years ago and use it to inspect what variables are set to when looking at how ports work to learn, fix them, and try to write them. I don't see why we wouldn't have a flavors target so users can type `make flavors-list. I usually try to ignore that flavors exist and just use options and setting/overriding variables but once I become aware of them I have tried to adopt use of a few, usually either so a default is overridden that is not an option (should that usually be considered a bug?) or so I can have multiple packages built so I can flip between them without waiting on another rebuild. >>    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? Just as flavors have so little documentation in the handbooks and Makefile comments, they seem to have little documentation in many ports. Port maintainers could tell users about flavors in pkg-message though that seems out of place and becomes bloat when it ends up in every package but a pkg-message or COMMENT customized to say which flavor it is would be a good idea. I used llvm17 as an example to say you can do it, not that you should. I'd assume that `make -VLLVM_DEFAULT` would have been the correct number to use if dependent port(s) didn't try to force a flavor. Ports I've found that depend on libclc seem to use the value as listed as `make -VLLVM_PORT:T` Since you are only installing it as a dependency, its best to check what was requested by the dependent port but all ports depending on libclc directly all seem to force it to a particular one. Have you tried to alter the default version of llvm or anything in your make.conf already? >>    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? I revise my statement. Unless libclc always needs to be built with or have compatibility with llvm15, then the if/endif lines around the broken and broken should be replaced with something like(untested): FEATURES_FreeBSD_16= ${16 17 18 19 20 21 22:L:S/^/llvm/} to remove the existence of that being a choice. If 15 should still be a choice and broken for FreeBSD16 then instead we should have BROKEN wrapped with if tests of both the OS version and the FLAVOR. Maybe the BROKEN test is okay as it is, but at the very least I'd think something like(untested): FLAVOR?= ${LLVM_PORT:T} just after the flavors list would fix it any time it has not been specified. The only ports I have found that depend on devel/libclc are graphics/mesa-dri, graphics/mesa-devel, and graphics/mesa-libs . Since those all request a flavor set to the same I'd assume it is fine to make it be the default version unless any of them ever conditionally change that (didn't observe them doing so but only quickly skimmed). > 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. Sounds like /usr/ports/UPDATING:20251130