Solved Poudriere fails on curl build

Poudriere has started to fail on the build of ftp/curl.

/usr/local/poudriere/data/logs/bulk/13amd64-local-kjpservers/2025-11-11_08h48m50s/logs/errors/curl-8.17.0.log shows:
Code:
---Begin OPTIONS List---
====> You must select one and only one option from the GSSAPI single
=====> No option was selected (and one must be)
*** Error code 1

Stop.
make: stopped in /usr/ports/ftp/curl
---End OPTIONS List---

The automatically generated /usr/local/etc/poudriere.d/13amd64-local-kjpservers-options/ftp_curl/options has:
Code:
OPTIONS_FILE_SET+=GSSAPI_BASE
OPTIONS_FILE_UNSET+=GSSAPI_HEIMDAL
OPTIONS_FILE_UNSET+=GSSAPI_MIT
OPTIONS_FILE_UNSET+=GSSAPI_NONE

Presumably I have to set something so make config generates a sane choice in this file, but I don't know

1. What a sane choice is for whatever needs curl, or
2. Where and how to set it.

I'm not really very knowledgeable about ports or Poudriere. I only use it because I have several VMs to maintain and Ports gets upgrades more quickly than the official package repo, so Poudriere enables me to minimise the risk from outdated packages.
 
Yes, but as it's an automatically-generated file, how do I change it? I presume these are the default options, specified somewhere else and written in this file as part of the build.
 
If you use Poudriere, it is best to create a make.conf file.
For example, if you are creating ports for a Poudriere jail named--> amd64-15-stable
Create a make.conf--> amd64-15-stable-make.conf
I noticed yesterday ftp/curl failed to build.
Added these lines to--> amd64-15-stable-make.conf
Code:
ftp_curl_UNSET+=GSSAPI_BASE
ftp_curl_UNSET+=GSSAPI_MIT
ftp_curl_SET+=GSSAPI_NONE
Find the option information by following the link in the Poudriere results web page.
Whenever a port fails follow the link and it takes you to Freshports.
Learn to use Freshports, it has everything you need, even bug listing/reporting.
In this case:
https://www.freshports.org/ftp/curl/
Scroll down until you see--> Configuration Options
You will see the options and the defaults set by the developer.
====> GSSAPI Security API support: you have to select exactly one of them
GSSAPI_MIT=off: GSSAPI support via security/krb5
GSSAPI_NONE=on: Disable GSSAPI support
Now you can see what is ON/OFF
use the SET/UNSET to configure as needed
 
cracauer@, thanks for asking no doubt key questions, but I set Poudriere up about ten years ago and it's always just worked, so I've never needed to understand such things. I'd have to do a lot of reading to understand the interaction between running things manually and Poudriere and also a lot of exploring of the system to find Poudriere's Ports tree. I could mess things up badly if I got it wrong!

Charlie_ , no, that's not me, but obviously it's a bug and not just my problem, which is useful to know, so thanks for that.

rdunkle, thank you very much for going the extra mile and all that useful information which, I think, answers my question fully. I read in another thread about the relative merits of using Poudriere options and make.conf files in pouriere.d but there was just not quite enough information to tell me how to do it. I think with your info I should be able to work round this now, so thank you!
 
Me, too, encountered the issue, as I've configured ftp_curl_UNSET+=GSSAPI_BASE, which is dissappeared at commit 25ff185fcef9.

Looking into Mk/Uses/gssapi.mk, it seems specifying mit (which implies GSSAPI_MIT_USES= gssapi:mit) uses base kerberos on 15.0 (I'm on stable/15 and my poudriere jail is in sync with bare metal), which has MIT kerberos. But specifying GSSAPI_MIT caused pulling in ports security/krb5 (built fine, though).

So I've switch to GSSAPI_NONE and it built fine for me, too.
 
Back
Top