Version 0.12.0 FAILED: [code=1] src/CMakeFiles/ssh.dir/mlkem_crypto.c.o /usr/bin/cc -DLIBSSH_EXPORTS -I/usr/ports/security/libssh/work/.build/src -I/usr/ports/security/libssh/work/libssh-0.12.0/src -I/usr/ports/security/libssh/work/libssh-0.12.0/include -I/usr/ports/security/libssh/work/.build/include -I/usr/ports/security/libssh/work/.build -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DNDEBUG -std=gnu99 -fPIC -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Wimplicit-fallthrough -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wsign-compare -Wold-style-definition -Werror=old-style-definition -Wimplicit-int -Werror=implicit-int -Wint-conversion -Werror=int-conversion -Werror=unused-variable -Wformat -Wformat-security -Werror=format-security -Wno-gnu-zero-variadic-macro-arguments -fno-common -fstack-protector-strong -fstack-clash-protection -MD -MT src/CMakeFiles/ssh.dir/mlkem_crypto.c.o -MF src/CMakeFiles/ssh.dir/mlkem_crypto.c.o.d -o src/CMakeFiles/ssh.dir/mlkem_crypto.c.o -c /usr/ports/security/libssh/work/libssh-0.12.0/src/mlkem_crypto.c /usr/ports/security/libssh/work/libssh-0.12.0/src/mlkem_crypto.c:31:10: fatal error: 'openssl/ml_kem.h' file not found 31 | #include <openssl/ml_kem.h> | ^~~~~~~~~~~~~~~~~~ 1 error generated.
I've fixed my build on my system using following commands: cp /usr/src/crypto/openssl/include/openssl/ml_kem.h /usr/include/openssl/ cd /usr/ports/security/libssh make clean make But it looks like issue for most of people. Part of the problem is that most of the people doesn't have /usr/src populated.
(In reply to Jordan Ostreff from comment #1) In-base ml_kem.h (including under /usr/src/) exists only on 15.0 or later. So unfortunately your workaround wouldn't work on other supported branches. And security/botan3 seems to install /usr/local/include/botan-3/botan/ml_kem.h. So it would be needed somehow conditionalizing to use ml_kem.h or not. And base having ml_kem.h would need to install it into /usr/include/openssl/. Or completely drop functionality that require ml_kem.h in security/openssh. Bundling it in security/libssh/files/ would be a bad idea for pre-15.0 branches. Note that (although I've been bitten by this) my first issue was that the distfile libssh-0.12.0.tar.xz is somehow truncated on fetching via `make fetch` and `make checksum`, thus, size and checksum mis-matches. Downloading manually via Firefox gives me the file with correct size and checksum, thus, copying it into /usr/ports/distfiles/ helped.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=4211f99a216d4f440b3b804a1e6db475087e3ed2 commit 4211f99a216d4f440b3b804a1e6db475087e3ed2 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2026-04-06 12:45:14 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2026-04-06 12:53:21 +0000 security/libssh: Mark BROKEN on 15+ and add backup for MASTER_SITES Fails to build on 15+, src/mlkem_crypto.c:31:10: fatal error: 'openssl/ml_kem.h' file not found Add temporary backup for MASTER_SITES to avoid build failures on other versions and of consumers as main upstream site current truncates downloads Thanks to eduardo@ for verifying build issues on -CURRENT PR: 294268 Approved by: blanket, just fix it security/libssh/Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
Created attachment 269421 [details] Fix build with OpenSSL 3.5+ in base There are multiple issues, base is missing a file which seemingly should be included but waiting on confirmation. Lets make sure it at least builds for now
0.11.4 100% tests passed, 0 tests failed out of 37 Why are some tests disabled? 0.12.0 Start 43: torture_forwarded_tcpip_callback 36/44 Test #43: torture_forwarded_tcpip_callback ....***Failed 0.01 sec Start 44: torture_server_direct_tcpip 37/44 Test #44: torture_server_direct_tcpip .........***Failed 0.00 sec