[oe] Compile error in openssl 1.0.0e
Chris Diamand
chris at diamand.org
Tue May 29 10:40:03 UTC 2012
> if ( data->connected )
> ret=writesocket(b->num,in,inl);
> else
> {
> int peerlen = sizeof(data->peer);
>
> if (data->peer.sa.sa_family == AF_INET)
> peerlen = sizeof(data->peer.sa_in);
> #if OPENSSL_USE_IPV6 /**** HERE ****/
> case BIO_C_FILE_TELL:
> case BIO_CTRL_INFO:
> ret=0;
> break;
> case BIO_C_SET_FD:
> dgram_clear(b);
> b->num= *((int *)ptr);
> b->shutdown=(int)num;
> b->init=1;
> break;
> case BIO_C_GET_FD:
> if (b->init)
> {
> ip=(int *)ptr;
> if (ip != NULL) *ip=b->num;
> ret=b->num;
> }
> else
> ret= -1;
> break;
> case BIO_CTRL_GET_CLOSE:
> ret=b->shutdown;
> break;
> case BIO_CTRL_SET_CLOSE:
> b->shutdown=(int)num;
> break;
> case BIO_CTRL_PENDING:
> ...
>
> If OPENSSL_USE_IPV6 is defined it puts a random case label (sans
> switch() ) in the middle of the function. This is clearly not going to
> work.
>
> This has been fixed in the latest version, 1.0.1c, which compiles
> without errors.
>
> Could the openssl recipe be updated to the latest version which actually
builds?
>
> Cheers,
> Chris.
>
Just looked again. The openssl source actually appears to be fine - it's this
sed line in
recipes/openssl/openssl.inc:
diff --git a/recipes/openssl/openssl.inc b/recipes/openssl/openssl.inc
index 2aff24a..d087a8b 100644
--- a/recipes/openssl/openssl.inc
+++ b/recipes/openssl/openssl.inc
@@ -106,7 +106,8 @@ do_configure () {
perl ./Configure ${EXTRA_OECONF} shared --prefix=$useprefix --
openssldir=${libdir}/ssl $target
eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e
"/_FILE_OFFSET_BITS/,/#endif/d" ${S}/crypto/bio/bss_file.c', d)}"
- eval "${@base_contains('DISTRO_FEATURES', 'ipv6', '', 'sed -i -e
"/AF_INET6/,/break/d" ${S}/crypto/bio/bss_dgram.c', d)}"
+
+ # eval "${@base_contains('DISTRO_FEATURES', 'ipv6', '', 'sed -i -e
"/AF_INET6/,/break/d" ${S}/crypto/bio/bss_dgram.c', d)}"
}
do_compile () {
Cheers.
More information about the Openembedded-devel
mailing list