[V3,1/2] multilib_header_wrapper.h: Use #pragma once

Message ID 20190205003627.4454-1-raj.khem@gmail.com
State New
Headers show
Series
  • [V3,1/2] multilib_header_wrapper.h: Use #pragma once
Related show

Commit Message

Khem Raj Feb. 5, 2019, 12:36 a.m.
Avoid infinite include loops, especially with bits/wordsize.h which is
now possible with the synthesized headers since we now also synthesize
bits/wordsize.h itelf for some arches e.g. arm/aarch64

In cases where extra preprocessing tools are used such as clang-tidy
e.g. and these tools are not passed the knowledge about architecture
then case comes where we enter into header include loop for
bits/wordsize.h, since this template does explicitly include
bits/wordsize.h

To fix this emits the pragma once at beginning of file, this is better
solution than include guards, and pragma once is practically supported
on all compilers except few e.g. cray c/c++ compiler

Signed-off-by: Khem Raj <raj.khem@gmail.com>

---
V2:
 - No Changes, just rebased
V3:
 - Do it using pragma once instead

 scripts/multilib_header_wrapper.h | 1 +
 1 file changed, 1 insertion(+)

-- 
2.20.1

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Comments

Alex Kiernan Feb. 6, 2019, 8:41 p.m. | #1
On Tue, Feb 5, 2019 at 12:36 AM Khem Raj <raj.khem@gmail.com> wrote:
>

> Avoid infinite include loops, especially with bits/wordsize.h which is

> now possible with the synthesized headers since we now also synthesize

> bits/wordsize.h itelf for some arches e.g. arm/aarch64

>

> In cases where extra preprocessing tools are used such as clang-tidy

> e.g. and these tools are not passed the knowledge about architecture

> then case comes where we enter into header include loop for

> bits/wordsize.h, since this template does explicitly include

> bits/wordsize.h

>

> To fix this emits the pragma once at beginning of file, this is better

> solution than include guards, and pragma once is practically supported

> on all compilers except few e.g. cray c/c++ compiler

>

> Signed-off-by: Khem Raj <raj.khem@gmail.com>


Something about this is breaking a local recipe (for tlsdate fwiw, but
I don't think that's relevant):

| checking openssl/ssl.h usability... no
| checking openssl/ssl.h presence... yes
| configure: WARNING: openssl/ssl.h: present but cannot be compiled
| configure: WARNING: openssl/ssl.h:     check for missing prerequisite headers?
| configure: WARNING: openssl/ssl.h: see the Autoconf documentation
| configure: WARNING: openssl/ssl.h:     section "Present But Cannot
Be Compiled"
| configure: WARNING: openssl/ssl.h: proceeding with the compiler's result
| configure: WARNING:     ## ------------------------------------- ##
| configure: WARNING:     ## Report this to jacob at appelbaum.net ##
| configure: WARNING:     ## ------------------------------------- ##
| checking for openssl/ssl.h... no
| configure: error: OpenSSL is not installed, openssl/sslh is missing

Somehow it's not getting the definition for THIRTY_TWO_BIT from
openssl/opensslconf.h (from openssl10) when testing for openssl/ssl.h
so BN_ULONG ends up undefined... still digging as to what's going on.

-- 
Alex Kiernan
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Khem Raj Feb. 6, 2019, 8:50 p.m. | #2
On Wed, Feb 6, 2019 at 12:41 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:
>

> On Tue, Feb 5, 2019 at 12:36 AM Khem Raj <raj.khem@gmail.com> wrote:

> >

> > Avoid infinite include loops, especially with bits/wordsize.h which is

> > now possible with the synthesized headers since we now also synthesize

> > bits/wordsize.h itelf for some arches e.g. arm/aarch64

> >

> > In cases where extra preprocessing tools are used such as clang-tidy

> > e.g. and these tools are not passed the knowledge about architecture

> > then case comes where we enter into header include loop for

> > bits/wordsize.h, since this template does explicitly include

> > bits/wordsize.h

> >

> > To fix this emits the pragma once at beginning of file, this is better

> > solution than include guards, and pragma once is practically supported

> > on all compilers except few e.g. cray c/c++ compiler

> >

> > Signed-off-by: Khem Raj <raj.khem@gmail.com>

>

> Something about this is breaking a local recipe (for tlsdate fwiw, but

> I don't think that's relevant):

>

> | checking openssl/ssl.h usability... no

> | checking openssl/ssl.h presence... yes

> | configure: WARNING: openssl/ssl.h: present but cannot be compiled

> | configure: WARNING: openssl/ssl.h:     check for missing prerequisite headers?

> | configure: WARNING: openssl/ssl.h: see the Autoconf documentation

> | configure: WARNING: openssl/ssl.h:     section "Present But Cannot

> Be Compiled"

> | configure: WARNING: openssl/ssl.h: proceeding with the compiler's result

> | configure: WARNING:     ## ------------------------------------- ##

> | configure: WARNING:     ## Report this to jacob at appelbaum.net ##

> | configure: WARNING:     ## ------------------------------------- ##

> | checking for openssl/ssl.h... no

> | configure: error: OpenSSL is not installed, openssl/sslh is missing

>

> Somehow it's not getting the definition for THIRTY_TWO_BIT from

> openssl/opensslconf.h (from openssl10) when testing for openssl/ssl.h

> so BN_ULONG ends up undefined... still digging as to what's going on.

>


thanks, is it using openssl10 ?

> --

> Alex Kiernan

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Alex Kiernan Feb. 6, 2019, 8:58 p.m. | #3
On Wed, Feb 6, 2019 at 8:50 PM Khem Raj <raj.khem@gmail.com> wrote:
>

> On Wed, Feb 6, 2019 at 12:41 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:

> >

> > On Tue, Feb 5, 2019 at 12:36 AM Khem Raj <raj.khem@gmail.com> wrote:

> > >

> > > Avoid infinite include loops, especially with bits/wordsize.h which is

> > > now possible with the synthesized headers since we now also synthesize

> > > bits/wordsize.h itelf for some arches e.g. arm/aarch64

> > >

> > > In cases where extra preprocessing tools are used such as clang-tidy

> > > e.g. and these tools are not passed the knowledge about architecture

> > > then case comes where we enter into header include loop for

> > > bits/wordsize.h, since this template does explicitly include

> > > bits/wordsize.h

> > >

> > > To fix this emits the pragma once at beginning of file, this is better

> > > solution than include guards, and pragma once is practically supported

> > > on all compilers except few e.g. cray c/c++ compiler

> > >

> > > Signed-off-by: Khem Raj <raj.khem@gmail.com>

> >

> > Something about this is breaking a local recipe (for tlsdate fwiw, but

> > I don't think that's relevant):

> >

> > | checking openssl/ssl.h usability... no

> > | checking openssl/ssl.h presence... yes

> > | configure: WARNING: openssl/ssl.h: present but cannot be compiled

> > | configure: WARNING: openssl/ssl.h:     check for missing prerequisite headers?

> > | configure: WARNING: openssl/ssl.h: see the Autoconf documentation

> > | configure: WARNING: openssl/ssl.h:     section "Present But Cannot

> > Be Compiled"

> > | configure: WARNING: openssl/ssl.h: proceeding with the compiler's result

> > | configure: WARNING:     ## ------------------------------------- ##

> > | configure: WARNING:     ## Report this to jacob at appelbaum.net ##

> > | configure: WARNING:     ## ------------------------------------- ##

> > | checking for openssl/ssl.h... no

> > | configure: error: OpenSSL is not installed, openssl/sslh is missing

> >

> > Somehow it's not getting the definition for THIRTY_TWO_BIT from

> > openssl/opensslconf.h (from openssl10) when testing for openssl/ssl.h

> > so BN_ULONG ends up undefined... still digging as to what's going on.

> >

>

> thanks, is it using openssl10 ?

>


It is... I'm sure that's relevant, but I'm failing to spot it.

-- 
Alex Kiernan
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Khem Raj Feb. 6, 2019, 9:23 p.m. | #4
On Wed, Feb 6, 2019 at 12:58 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:
>

> On Wed, Feb 6, 2019 at 8:50 PM Khem Raj <raj.khem@gmail.com> wrote:

> >

> > On Wed, Feb 6, 2019 at 12:41 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:

> > >

> > > On Tue, Feb 5, 2019 at 12:36 AM Khem Raj <raj.khem@gmail.com> wrote:

> > > >

> > > > Avoid infinite include loops, especially with bits/wordsize.h which is

> > > > now possible with the synthesized headers since we now also synthesize

> > > > bits/wordsize.h itelf for some arches e.g. arm/aarch64

> > > >

> > > > In cases where extra preprocessing tools are used such as clang-tidy

> > > > e.g. and these tools are not passed the knowledge about architecture

> > > > then case comes where we enter into header include loop for

> > > > bits/wordsize.h, since this template does explicitly include

> > > > bits/wordsize.h

> > > >

> > > > To fix this emits the pragma once at beginning of file, this is better

> > > > solution than include guards, and pragma once is practically supported

> > > > on all compilers except few e.g. cray c/c++ compiler

> > > >

> > > > Signed-off-by: Khem Raj <raj.khem@gmail.com>

> > >

> > > Something about this is breaking a local recipe (for tlsdate fwiw, but

> > > I don't think that's relevant):

> > >

> > > | checking openssl/ssl.h usability... no

> > > | checking openssl/ssl.h presence... yes

> > > | configure: WARNING: openssl/ssl.h: present but cannot be compiled

> > > | configure: WARNING: openssl/ssl.h:     check for missing prerequisite headers?

> > > | configure: WARNING: openssl/ssl.h: see the Autoconf documentation

> > > | configure: WARNING: openssl/ssl.h:     section "Present But Cannot

> > > Be Compiled"

> > > | configure: WARNING: openssl/ssl.h: proceeding with the compiler's result

> > > | configure: WARNING:     ## ------------------------------------- ##

> > > | configure: WARNING:     ## Report this to jacob at appelbaum.net ##

> > > | configure: WARNING:     ## ------------------------------------- ##

> > > | checking for openssl/ssl.h... no

> > > | configure: error: OpenSSL is not installed, openssl/sslh is missing

> > >

> > > Somehow it's not getting the definition for THIRTY_TWO_BIT from

> > > openssl/opensslconf.h (from openssl10) when testing for openssl/ssl.h

> > > so BN_ULONG ends up undefined... still digging as to what's going on.

> > >

> >

> > thanks, is it using openssl10 ?

> >

>

> It is... I'm sure that's relevant, but I'm failing to spot it.

>


so where all do you have opensslconf.h in target sysroot ?

> --

> Alex Kiernan

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Alex Kiernan Feb. 6, 2019, 9:49 p.m. | #5
On Wed, Feb 6, 2019 at 9:23 PM Khem Raj <raj.khem@gmail.com> wrote:
>

> On Wed, Feb 6, 2019 at 12:58 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:

> >

> > On Wed, Feb 6, 2019 at 8:50 PM Khem Raj <raj.khem@gmail.com> wrote:

> > >

> > > On Wed, Feb 6, 2019 at 12:41 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:

> > > >

> > > > On Tue, Feb 5, 2019 at 12:36 AM Khem Raj <raj.khem@gmail.com> wrote:

> > > > >

> > > > > Avoid infinite include loops, especially with bits/wordsize.h which is

> > > > > now possible with the synthesized headers since we now also synthesize

> > > > > bits/wordsize.h itelf for some arches e.g. arm/aarch64

> > > > >

> > > > > In cases where extra preprocessing tools are used such as clang-tidy

> > > > > e.g. and these tools are not passed the knowledge about architecture

> > > > > then case comes where we enter into header include loop for

> > > > > bits/wordsize.h, since this template does explicitly include

> > > > > bits/wordsize.h

> > > > >

> > > > > To fix this emits the pragma once at beginning of file, this is better

> > > > > solution than include guards, and pragma once is practically supported

> > > > > on all compilers except few e.g. cray c/c++ compiler

> > > > >

> > > > > Signed-off-by: Khem Raj <raj.khem@gmail.com>

> > > >

> > > > Something about this is breaking a local recipe (for tlsdate fwiw, but

> > > > I don't think that's relevant):

> > > >

> > > > | checking openssl/ssl.h usability... no

> > > > | checking openssl/ssl.h presence... yes

> > > > | configure: WARNING: openssl/ssl.h: present but cannot be compiled

> > > > | configure: WARNING: openssl/ssl.h:     check for missing prerequisite headers?

> > > > | configure: WARNING: openssl/ssl.h: see the Autoconf documentation

> > > > | configure: WARNING: openssl/ssl.h:     section "Present But Cannot

> > > > Be Compiled"

> > > > | configure: WARNING: openssl/ssl.h: proceeding with the compiler's result

> > > > | configure: WARNING:     ## ------------------------------------- ##

> > > > | configure: WARNING:     ## Report this to jacob at appelbaum.net ##

> > > > | configure: WARNING:     ## ------------------------------------- ##

> > > > | checking for openssl/ssl.h... no

> > > > | configure: error: OpenSSL is not installed, openssl/sslh is missing

> > > >

> > > > Somehow it's not getting the definition for THIRTY_TWO_BIT from

> > > > openssl/opensslconf.h (from openssl10) when testing for openssl/ssl.h

> > > > so BN_ULONG ends up undefined... still digging as to what's going on.

> > > >

> > >

> > > thanks, is it using openssl10 ?

> > >

> >

> > It is... I'm sure that's relevant, but I'm failing to spot it.

> >

>

> so where all do you have opensslconf.h in target sysroot ?

>


$ find tmp -name opensslconf.h -ls
  1589118      8 -rw-r--r--   3 vagrant  vagrant      4534 Feb  6
11:40 tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/include/openssl/opensslconf.h
  1451388      4 -rw-r--r--   4 vagrant  vagrant      1971 Feb  6
21:31 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/tlsdate/0.0.13+gitAUTOINC+751f82dc6f-r0/recipe-sysroot/usr/include/openssl/opensslconf.h
  1589118      8 -rw-r--r--   3 vagrant  vagrant      4534 Feb  6
11:40 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/recipe-sysroot-native/usr/include/openssl/opensslconf.h
  1451388      4 -rw-r--r--   4 vagrant  vagrant      1971 Feb  6
21:31 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/sysroot-destdir/usr/include/openssl/opensslconf.h
  1574753      8 -rw-r--r--   1 vagrant  vagrant      7423 Feb  6
21:30 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/openssl-1.0.2q/crypto/opensslconf.h
  1717763      4 -rw-r--r--   1 vagrant  vagrant      3201 Nov 20
13:44 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/openssl-1.0.2q/MacOS/opensslconf.h
  1574836      0 lrwxrwxrwx   1 vagrant  vagrant        26 Feb  6
21:30 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/openssl-1.0.2q/include/openssl/opensslconf.h
-> ../../crypto/opensslconf.h
  1451388      4 -rw-r--r--   4 vagrant  vagrant      1971 Feb  6
21:31 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/image/usr/include/openssl/opensslconf.h
  1589118      8 -rw-r--r--   3 vagrant  vagrant      4534 Feb  6
11:40 tmp/sysroots-components/x86_64/openssl-native/usr/include/openssl/opensslconf.h
  1849804      4 -rw-r--r--   1 vagrant  vagrant      1971 Feb  6
13:28 tmp/sysroots-components/armv7at2hf-neon/openssl/usr/include/openssl/opensslconf.h
  1451388      4 -rw-r--r--   4 vagrant  vagrant      1971 Feb  6
21:31 tmp/sysroots-components/armv7at2hf-neon/openssl10/usr/include/openssl/opensslconf.h

-- 
Alex Kiernan
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Andre McCurdy Feb. 7, 2019, 2:16 a.m. | #6
On Wed, Feb 6, 2019 at 1:49 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:
>

> On Wed, Feb 6, 2019 at 9:23 PM Khem Raj <raj.khem@gmail.com> wrote:

> >

> > On Wed, Feb 6, 2019 at 12:58 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:

> > >

> > > On Wed, Feb 6, 2019 at 8:50 PM Khem Raj <raj.khem@gmail.com> wrote:

> > > >

> > > > On Wed, Feb 6, 2019 at 12:41 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:

> > > > >

> > > > > On Tue, Feb 5, 2019 at 12:36 AM Khem Raj <raj.khem@gmail.com> wrote:

> > > > > >

> > > > > > Avoid infinite include loops, especially with bits/wordsize.h which is

> > > > > > now possible with the synthesized headers since we now also synthesize

> > > > > > bits/wordsize.h itelf for some arches e.g. arm/aarch64

> > > > > >

> > > > > > In cases where extra preprocessing tools are used such as clang-tidy

> > > > > > e.g. and these tools are not passed the knowledge about architecture

> > > > > > then case comes where we enter into header include loop for

> > > > > > bits/wordsize.h, since this template does explicitly include

> > > > > > bits/wordsize.h

> > > > > >

> > > > > > To fix this emits the pragma once at beginning of file, this is better

> > > > > > solution than include guards, and pragma once is practically supported

> > > > > > on all compilers except few e.g. cray c/c++ compiler

> > > > > >

> > > > > > Signed-off-by: Khem Raj <raj.khem@gmail.com>

> > > > >

> > > > > Something about this is breaking a local recipe (for tlsdate fwiw, but

> > > > > I don't think that's relevant):

> > > > >

> > > > > | checking openssl/ssl.h usability... no

> > > > > | checking openssl/ssl.h presence... yes

> > > > > | configure: WARNING: openssl/ssl.h: present but cannot be compiled

> > > > > | configure: WARNING: openssl/ssl.h:     check for missing prerequisite headers?

> > > > > | configure: WARNING: openssl/ssl.h: see the Autoconf documentation

> > > > > | configure: WARNING: openssl/ssl.h:     section "Present But Cannot

> > > > > Be Compiled"

> > > > > | configure: WARNING: openssl/ssl.h: proceeding with the compiler's result

> > > > > | configure: WARNING:     ## ------------------------------------- ##

> > > > > | configure: WARNING:     ## Report this to jacob at appelbaum.net ##

> > > > > | configure: WARNING:     ## ------------------------------------- ##

> > > > > | checking for openssl/ssl.h... no

> > > > > | configure: error: OpenSSL is not installed, openssl/sslh is missing

> > > > >

> > > > > Somehow it's not getting the definition for THIRTY_TWO_BIT from

> > > > > openssl/opensslconf.h (from openssl10) when testing for openssl/ssl.h

> > > > > so BN_ULONG ends up undefined... still digging as to what's going on.

> > > >

> > > > thanks, is it using openssl10 ?

> > > >


I'm also seeing build issues with openssl10 which seem to be related
to this change:

 | i586-oe-linux-gcc -m32 -march=i586
--sysroot=/.../tmp-glibc/work/i586-oe-linux/mosquitto/1.4.8-r0/recipe-sysroot
-O2 -pipe -g -feliminate-unused-debug-types
-fdebug-prefix-map=/.../tmp-glibc/work/i586-oe-linux/mosquitto/1.4.8-r0=/usr/src/debug/mosquitto/1.4.8-r0
-fdebug-prefix-map=/.../tmp-glibc/work/i586-oe-linux/mosquitto/1.4.8-r0/recipe-sysroot=
-fdebug-prefix-map=/.../tmp-glibc/work/i586-oe-linux/mosquitto/1.4.8-r0/recipe-sysroot-native=
-I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THREADING
-DWITH_SOCKS -c read_handle_shared.c -o read_handle_shared.o
 | In file included from
/.../tmp-glibc/work/i586-oe-linux/mosquitto/1.4.8-r0/recipe-sysroot/usr/include/openssl/engine.h:75,
 |                  from net_mosq.c:55:
 | /.../tmp-glibc/work/i586-oe-linux/mosquitto/1.4.8-r0/recipe-sysroot/usr/include/openssl/bn.h:321:5:
error: unknown type name 'BN_ULONG'
 |      BN_ULONG *d;                /* Pointer to an array of 'BN_BITS2' bit
 |      ^~~~~~~~
 | /.../tmp-glibc/work/i586-oe-linux/mosquitto/1.4.8-r0/recipe-sysroot/usr/include/openssl/bn.h:337:5:
error: unknown type name 'BN_ULONG'
 |      BN_ULONG n0[2];             /* least significant word(s) of Ni; (type
 |      ^~~~~~~~
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Khem Raj Feb. 7, 2019, 6:27 a.m. | #7
Please try the patch I posted for openssl10 and report back
https://patchwork.openembedded.org/patch/158573/

On Wed, Feb 6, 2019 at 1:49 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:
>

> On Wed, Feb 6, 2019 at 9:23 PM Khem Raj <raj.khem@gmail.com> wrote:

> >

> > On Wed, Feb 6, 2019 at 12:58 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:

> > >

> > > On Wed, Feb 6, 2019 at 8:50 PM Khem Raj <raj.khem@gmail.com> wrote:

> > > >

> > > > On Wed, Feb 6, 2019 at 12:41 PM Alex Kiernan <alex.kiernan@gmail.com> wrote:

> > > > >

> > > > > On Tue, Feb 5, 2019 at 12:36 AM Khem Raj <raj.khem@gmail.com> wrote:

> > > > > >

> > > > > > Avoid infinite include loops, especially with bits/wordsize.h which is

> > > > > > now possible with the synthesized headers since we now also synthesize

> > > > > > bits/wordsize.h itelf for some arches e.g. arm/aarch64

> > > > > >

> > > > > > In cases where extra preprocessing tools are used such as clang-tidy

> > > > > > e.g. and these tools are not passed the knowledge about architecture

> > > > > > then case comes where we enter into header include loop for

> > > > > > bits/wordsize.h, since this template does explicitly include

> > > > > > bits/wordsize.h

> > > > > >

> > > > > > To fix this emits the pragma once at beginning of file, this is better

> > > > > > solution than include guards, and pragma once is practically supported

> > > > > > on all compilers except few e.g. cray c/c++ compiler

> > > > > >

> > > > > > Signed-off-by: Khem Raj <raj.khem@gmail.com>

> > > > >

> > > > > Something about this is breaking a local recipe (for tlsdate fwiw, but

> > > > > I don't think that's relevant):

> > > > >

> > > > > | checking openssl/ssl.h usability... no

> > > > > | checking openssl/ssl.h presence... yes

> > > > > | configure: WARNING: openssl/ssl.h: present but cannot be compiled

> > > > > | configure: WARNING: openssl/ssl.h:     check for missing prerequisite headers?

> > > > > | configure: WARNING: openssl/ssl.h: see the Autoconf documentation

> > > > > | configure: WARNING: openssl/ssl.h:     section "Present But Cannot

> > > > > Be Compiled"

> > > > > | configure: WARNING: openssl/ssl.h: proceeding with the compiler's result

> > > > > | configure: WARNING:     ## ------------------------------------- ##

> > > > > | configure: WARNING:     ## Report this to jacob at appelbaum.net ##

> > > > > | configure: WARNING:     ## ------------------------------------- ##

> > > > > | checking for openssl/ssl.h... no

> > > > > | configure: error: OpenSSL is not installed, openssl/sslh is missing

> > > > >

> > > > > Somehow it's not getting the definition for THIRTY_TWO_BIT from

> > > > > openssl/opensslconf.h (from openssl10) when testing for openssl/ssl.h

> > > > > so BN_ULONG ends up undefined... still digging as to what's going on.

> > > > >

> > > >

> > > > thanks, is it using openssl10 ?

> > > >

> > >

> > > It is... I'm sure that's relevant, but I'm failing to spot it.

> > >

> >

> > so where all do you have opensslconf.h in target sysroot ?

> >

>

> $ find tmp -name opensslconf.h -ls

>   1589118      8 -rw-r--r--   3 vagrant  vagrant      4534 Feb  6

> 11:40 tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/include/openssl/opensslconf.h

>   1451388      4 -rw-r--r--   4 vagrant  vagrant      1971 Feb  6

> 21:31 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/tlsdate/0.0.13+gitAUTOINC+751f82dc6f-r0/recipe-sysroot/usr/include/openssl/opensslconf.h

>   1589118      8 -rw-r--r--   3 vagrant  vagrant      4534 Feb  6

> 11:40 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/recipe-sysroot-native/usr/include/openssl/opensslconf.h

>   1451388      4 -rw-r--r--   4 vagrant  vagrant      1971 Feb  6

> 21:31 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/sysroot-destdir/usr/include/openssl/opensslconf.h

>   1574753      8 -rw-r--r--   1 vagrant  vagrant      7423 Feb  6

> 21:30 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/openssl-1.0.2q/crypto/opensslconf.h

>   1717763      4 -rw-r--r--   1 vagrant  vagrant      3201 Nov 20

> 13:44 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/openssl-1.0.2q/MacOS/opensslconf.h

>   1574836      0 lrwxrwxrwx   1 vagrant  vagrant        26 Feb  6

> 21:30 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/openssl-1.0.2q/include/openssl/opensslconf.h

> -> ../../crypto/opensslconf.h

>   1451388      4 -rw-r--r--   4 vagrant  vagrant      1971 Feb  6

> 21:31 tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl10/1.0.2q-r0/image/usr/include/openssl/opensslconf.h

>   1589118      8 -rw-r--r--   3 vagrant  vagrant      4534 Feb  6

> 11:40 tmp/sysroots-components/x86_64/openssl-native/usr/include/openssl/opensslconf.h

>   1849804      4 -rw-r--r--   1 vagrant  vagrant      1971 Feb  6

> 13:28 tmp/sysroots-components/armv7at2hf-neon/openssl/usr/include/openssl/opensslconf.h

>   1451388      4 -rw-r--r--   4 vagrant  vagrant      1971 Feb  6

> 21:31 tmp/sysroots-components/armv7at2hf-neon/openssl10/usr/include/openssl/opensslconf.h

>

> --

> Alex Kiernan

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Alex Kiernan Feb. 7, 2019, 10:44 a.m. | #8
On Thu, Feb 7, 2019 at 6:27 AM Khem Raj <raj.khem@gmail.com> wrote:
>

> Please try the patch I posted for openssl10 and report back

> https://patchwork.openembedded.org/patch/158573/

>


LGTM.

-- 
Alex Kiernan
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Patch

diff --git a/scripts/multilib_header_wrapper.h b/scripts/multilib_header_wrapper.h
index 9660225fdd..4824790783 100644
--- a/scripts/multilib_header_wrapper.h
+++ b/scripts/multilib_header_wrapper.h
@@ -21,6 +21,7 @@ 
  * 
  */
 
+#pragma once
 
 #if defined (__bpf__)
 #define __MHWORDSIZE			64