[oe] [PATCH] openssl.inc: Fix build when DISTRO_FEATURES lacks largefile and/or ipv6.

Graham Gower graham.gower at gmail.com
Tue Nov 30 03:25:16 UTC 2010


mipsel-oe-linux-uclibc-gcc -march=mips32 -I.. -I../.. -I../../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN 	-DTERMIO -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -Wall -isystem/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include  -c -o bss_file.o bss_file.c
In file included from /mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/stdio.h:28:0,
                 from bss_file.c:86:
/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/features.h:216:5: error: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.
In file included from /mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/stdio.h:72:0,
                 from bss_file.c:86:
/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/bits/uClibc_stdio.h:61:2: error: #error Sorry... uClibc was built without large file support!
In file included from bss_file.c:86:0:
/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/stdio.h:83:26: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fpos_t'
In file included from bss_file.c:86:0:
/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/stdio.h:719:12: error: expected declaration specifiers or '...' before 'fpos_t'
/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/stdio.h:721:12: error: expected ';', ',' or ')' before '*' token
make[2]: *** [bss_file.o] Error 1


mipsel-oe-linux-uclibc-gcc -march=mips32 -I.. -I../.. -I../../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN 	-DTERMIO -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -Wall -isystem/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include  -c -o bss_dgram.o bss_dgram.c
bss_dgram.c: In function 'dgram_ctrl':
bss_dgram.c:433:18: error: 'IPV6_PMTUDISC_DO' undeclared (first use in this function)
bss_dgram.c:433:18: note: each undeclared identifier is reported only once for each function it appears in
bss_dgram.c:434:48: error: 'IPV6_MTU_DISCOVER' undeclared (first use in this function)
bss_dgram.c:474:48: error: 'IPV6_MTU' undeclared (first use in this function)
make[2]: *** [bss_dgram.o] Error 1


Signed-off-by: Graham Gower <graham.gower at gmail.com>
---
 recipes/openssl/openssl.inc |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/recipes/openssl/openssl.inc b/recipes/openssl/openssl.inc
index 885d933..3091b4e 100644
--- a/recipes/openssl/openssl.inc
+++ b/recipes/openssl/openssl.inc
@@ -98,6 +98,9 @@ do_configure () {
                 useprefix=/
         fi        
 	perl ./Configure 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)}"
 }
 
 do_compile () {
-- 
1.7.1





More information about the Openembedded-devel mailing list