On Mon, Jan 10, 2022 at 11:20:17PM +0100, Jeremie Courreges-Anglas wrote: > On Wed, Jan 05 2022, Stuart Henderson <s...@spacehopper.org> wrote: > > Quite a few of the new sparc64 failures are related to neon: > >> http://build-failures.rhaalovely.net/sparc64/2022-01-03/audio/libmusicbrainz.log > >> http://build-failures.rhaalovely.net/sparc64/2022-01-03/audio/libmusicbrainz5.log > > > > /usr/local/lib/libneon.so.31.3: undefined reference to `EVP_sha512_256' > > > > This can be replicated on amd64 with USE_LLD=No > > Yep. For completeness, here are the related cc warnings: > --8<-- > ne_openssl.c: In function 'hash_to_md': > ne_openssl.c:1124:37: warning: implicit declaration of function > 'EVP_sha512_256'; did you mean 'EVP_sha512'? [-Wimplicit-function-declaration] > case NE_HASH_SHA512_256: return EVP_sha512_256(); > ^~~~~~~~~~~~~~ > EVP_sha512 > ne_openssl.c:1124:37: warning: returning 'int' from a function with return > type 'const EVP_MD *' {aka 'const struct env_md_st *'} makes pointer from > integer without a cast [-Wint-conversion] > case NE_HASH_SHA512_256: return EVP_sha512_256(); > ^~~~~~~~~~~~~~~~ > ne_openssl.c: In function 'hash_to_md': > ne_openssl.c:1124:37: warning: implicit declaration of function > 'EVP_sha512_256'; did you mean 'EVP_sha512'? [-Wimplicit-function-declaration] > case NE_HASH_SHA512_256: return EVP_sha512_256(); > ^~~~~~~~~~~~~~ > EVP_sha512 > ne_openssl.c:1124:37: warning: returning 'int' from a function with return > type 'const EVP_MD *' {aka 'const struct env_md_st *'} makes pointer from > integer without a cast [-Wint-conversion] > case NE_HASH_SHA512_256: return EVP_sha512_256(); > ^~~~~~~~~~~~~~~~ > -->8-- > > > > Presumably this in src/ne_openssl.c: > > > > ... > > | static const EVP_MD *hash_to_md(unsigned int flags) > > | { > > | switch (flags & NE_HASH_ALGMASK) { > > | case NE_HASH_MD5: return EVP_md5(); > > | case NE_HASH_SHA256: return EVP_sha256(); > > | #ifdef HAVE_OPENSSL11 > > | case NE_HASH_SHA512: return EVP_sha512(); > > | case NE_HASH_SHA512_256: return EVP_sha512_256(); > > | #endif > > ... > > > > > > The others aren't explicit but I guess quite likely to have the same cause: > > > >> http://build-failures.rhaalovely.net/sparc64/2022-01-03/net/cadaver.log > > > > configure: incompatible neon library version 0.32.1: wanted 0.27 28 29 30 > > 31 32 > > > >> http://build-failures.rhaalovely.net/sparc64/2022-01-03/telephony/asterisk/16.log > >> http://build-failures.rhaalovely.net/sparc64/2022-01-03/telephony/asterisk/18.log > >> http://build-failures.rhaalovely.net/sparc64/2022-01-03/telephony/asterisk/19.log > > > > not clear from the build log but the module which isn't built depends on > > neon; > > config.log and/or menuselect-generated files probably tell more > > > >> http://build-failures.rhaalovely.net/sparc64/2022-01-03/sysutils/nut.log > > > > "checking whether to build neon based XML driver... no" > > config.log probably tells more > > All those probably have the same root cause indeed. > > Here's a diff that should get this port back on track. > cc'ing tb@ for feedback for I suspect that adding those APIs is not > a priority for now. > > ok?
OK. Thanks! > Index: Makefile > =================================================================== > RCS file: /home/cvs/ports/net/neon/Makefile,v > retrieving revision 1.48 > diff -u -p -r1.48 Makefile > --- Makefile 30 Dec 2021 16:29:56 -0000 1.48 > +++ Makefile 10 Jan 2022 22:17:47 -0000 > @@ -3,6 +3,7 @@ > COMMENT= HTTP and WebDAV client library, with C interface > > DISTNAME= neon-0.32.1 > +REVISION= 0 > > SHARED_LIBS += neon 31.3 # 32.1 > > Index: patches/patch-src_ne_openssl_c > =================================================================== > RCS file: patches/patch-src_ne_openssl_c > diff -N patches/patch-src_ne_openssl_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_ne_openssl_c 10 Jan 2022 22:18:37 -0000 > @@ -0,0 +1,15 @@ > +$OpenBSD$ > + > +LibreSSL does not provide EVP_sha512_256() > + > +Index: src/ne_openssl.c > +--- src/ne_openssl.c.orig > ++++ src/ne_openssl.c > +@@ -1121,7 +1121,6 @@ static const EVP_MD *hash_to_md(unsigned int flags) > + case NE_HASH_SHA256: return EVP_sha256(); > + #ifdef HAVE_OPENSSL11 > + case NE_HASH_SHA512: return EVP_sha512(); > +- case NE_HASH_SHA512_256: return EVP_sha512_256(); > + #endif > + default: break; > + } > > > -- > jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE > -- Antoine