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

Reply via email to