Closed nh2 closed 3 years ago
Adding openssh = previous.openssh.override { withKerberos = false; };
is one fix.
The alternative would be to somehow fix it so that the configure
test links correctly.
I fixed this in current static-haskell-nix versions, in some cases by disabling krb5 where necessary.
https://buildkite.com/nh2/static-haskell-nix/builds/158#eae147db-3177-4ab0-9a49-3140285d13fa/23-10930
Explanation: https://gist.github.com/stumbles/67c54b228df0a5d2b65d53190e4cbea4#gistcomment-3097757
Ah, I've got it: this is the error message you get when you define function with the same name as a macro that already exists. Example:
So this must mean that after https://github.com/openssh/openssh-portable/blob/2ff822eabd7d4461743f22d3b9ba35ab76069df5/openbsd-compat/bsd-misc.h#L134-L136
is executed, something
#include
s thekrb5.h
header file that defineskrb5_free_error_message
as a function.Doing
grep -R krb5_free_error_message .
in the--keep-failed
dir I seen inconfig.log
:and in the
configure
output:So it enabled kerberos support (
yes
), but its internal checks for e.g.ac_cv_func_krb5_free_error_message
failed, but not because (as was probably intended) the function isn't defined in the header, but because of a linker error.So then autoconf silently continues (as usual :-1:), with krb5 support on but the
HAVE_
set to false, does its own define ofkrb5_free_error_message
, includeskrb.h
and then fails.So I think 2 (IMO) garbage behaviours of autoconf are at play:
krb5
support when it clearly doesn't work (maybe theconfigure.ac
of openssh is written incorrectly?)