2021-03-16 21:29:14

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH BlueZ] build: Fix build with latest tree

From: Luiz Augusto von Dentz <[email protected]>

Latest ell tree has introduced useful.h and main-private.h which are
required to build:

ell/cert-crypto.c:35:10: fatal error: useful.h: No such file or
directory
35 | #include "useful.h"
| ^~~~~~~~~~
...
---
Makefile.am | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index ff0df2196..7fce2e7c0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -135,7 +135,9 @@ ell_headers = ell/util.h \
ell/asn1-private.h \
ell/cert-private.h \
ell/pem-private.h \
- ell/uuid.h
+ ell/uuid.h \
+ ell/useful.h \
+ ell/main-private.h

ell_sources = ell/private.h ell/missing.h \
ell/util.c \
--
2.30.2


2021-03-16 21:36:29

by bluez.test.bot

[permalink] [raw]
Subject: RE: [BlueZ] build: Fix build with latest tree

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=449519

---Test result---

##############################
Test: CheckPatch - PASS

##############################
Test: CheckGitLint - PASS

##############################
Test: CheckBuild - PASS

##############################
Test: MakeCheck - PASS



---
Regards,
Linux Bluetooth

2021-03-17 08:41:33

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH BlueZ] build: Fix build with latest tree

Hi Luiz,

> Latest ell tree has introduced useful.h and main-private.h which are
> required to build:
>
> ell/cert-crypto.c:35:10: fatal error: useful.h: No such file or
> directory
> 35 | #include "useful.h"
> | ^~~~~~~~~~
> ...
> ---
> Makefile.am | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile.am b/Makefile.am
> index ff0df2196..7fce2e7c0 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -135,7 +135,9 @@ ell_headers = ell/util.h \
> ell/asn1-private.h \
> ell/cert-private.h \
> ell/pem-private.h \
> - ell/uuid.h
> + ell/uuid.h \
> + ell/useful.h \
> + ell/main-private.h
>

this is the wrong fix. It will break in the tarballs. ELL will not install ell/useful.h ever. So every tarball needs to ensure that ell/useful.h is included. Which means you need to follow the fix from iwd here.

Regards

Marcel

2021-03-17 18:33:46

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [PATCH BlueZ] build: Fix build with latest tree

Hi Marcel,

On Wed, Mar 17, 2021 at 1:38 AM Marcel Holtmann <[email protected]> wrote:
>
> Hi Luiz,
>
> > Latest ell tree has introduced useful.h and main-private.h which are
> > required to build:
> >
> > ell/cert-crypto.c:35:10: fatal error: useful.h: No such file or
> > directory
> > 35 | #include "useful.h"
> > | ^~~~~~~~~~
> > ...
> > ---
> > Makefile.am | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/Makefile.am b/Makefile.am
> > index ff0df2196..7fce2e7c0 100644
> > --- a/Makefile.am
> > +++ b/Makefile.am
> > @@ -135,7 +135,9 @@ ell_headers = ell/util.h \
> > ell/asn1-private.h \
> > ell/cert-private.h \
> > ell/pem-private.h \
> > - ell/uuid.h
> > + ell/uuid.h \
> > + ell/useful.h \
> > + ell/main-private.h
> >
>
> this is the wrong fix. It will break in the tarballs. ELL will not install ell/useful.h ever. So every tarball needs to ensure that ell/useful.h is included. Which means you need to follow the fix from iwd here.

Are you talking about this:

https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=ed05585063f2e6d8f2fcd5f008b861062ac7a429

Shall we use the same mechanism to link the headers?

> Regards
>
> Marcel
>


--
Luiz Augusto von Dentz

2021-03-17 20:47:14

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [PATCH BlueZ] build: Fix build with latest tree

Hi Marcel,

On Wed, Mar 17, 2021 at 11:29 AM Luiz Augusto von Dentz
<[email protected]> wrote:
>
> Hi Marcel,
>
> On Wed, Mar 17, 2021 at 1:38 AM Marcel Holtmann <[email protected]> wrote:
> >
> > Hi Luiz,
> >
> > > Latest ell tree has introduced useful.h and main-private.h which are
> > > required to build:
> > >
> > > ell/cert-crypto.c:35:10: fatal error: useful.h: No such file or
> > > directory
> > > 35 | #include "useful.h"
> > > | ^~~~~~~~~~
> > > ...
> > > ---
> > > Makefile.am | 4 +++-
> > > 1 file changed, 3 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/Makefile.am b/Makefile.am
> > > index ff0df2196..7fce2e7c0 100644
> > > --- a/Makefile.am
> > > +++ b/Makefile.am
> > > @@ -135,7 +135,9 @@ ell_headers = ell/util.h \
> > > ell/asn1-private.h \
> > > ell/cert-private.h \
> > > ell/pem-private.h \
> > > - ell/uuid.h
> > > + ell/uuid.h \
> > > + ell/useful.h \
> > > + ell/main-private.h
> > >
> >
> > this is the wrong fix. It will break in the tarballs. ELL will not install ell/useful.h ever. So every tarball needs to ensure that ell/useful.h is included. Which means you need to follow the fix from iwd here.
>
> Are you talking about this:
>
> https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=ed05585063f2e6d8f2fcd5f008b861062ac7a429
>
> Shall we use the same mechanism to link the headers?

I tried with distcheck to see what would be included in the tarball,
both useful.h and main-private.h do appear to be included, perhaps you
are saying that when we use non-built-in/shared ell
(--enable-external-ell) those headers are not installed, but I guess
in that case we don't need the private header as we won't be using the
built-in sources, or I'm missing something. That said perhaps this is
different in case of iwd as it seems to be using useful.h directly:

https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=17cf4da72613e80d08d51401399d02683ba8664b

--
Luiz Augusto von Dentz

2021-03-18 09:15:06

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH BlueZ] build: Fix build with latest tree

Hi Luiz,

>>>> Latest ell tree has introduced useful.h and main-private.h which are
>>>> required to build:
>>>>
>>>> ell/cert-crypto.c:35:10: fatal error: useful.h: No such file or
>>>> directory
>>>> 35 | #include "useful.h"
>>>> | ^~~~~~~~~~
>>>> ...
>>>> ---
>>>> Makefile.am | 4 +++-
>>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/Makefile.am b/Makefile.am
>>>> index ff0df2196..7fce2e7c0 100644
>>>> --- a/Makefile.am
>>>> +++ b/Makefile.am
>>>> @@ -135,7 +135,9 @@ ell_headers = ell/util.h \
>>>> ell/asn1-private.h \
>>>> ell/cert-private.h \
>>>> ell/pem-private.h \
>>>> - ell/uuid.h
>>>> + ell/uuid.h \
>>>> + ell/useful.h \
>>>> + ell/main-private.h
>>>>
>>>
>>> this is the wrong fix. It will break in the tarballs. ELL will not install ell/useful.h ever. So every tarball needs to ensure that ell/useful.h is included. Which means you need to follow the fix from iwd here.
>>
>> Are you talking about this:
>>
>> https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=ed05585063f2e6d8f2fcd5f008b861062ac7a429
>>
>> Shall we use the same mechanism to link the headers?
>
> I tried with distcheck to see what would be included in the tarball,
> both useful.h and main-private.h do appear to be included, perhaps you
> are saying that when we use non-built-in/shared ell
> (--enable-external-ell) those headers are not installed, but I guess
> in that case we don't need the private header as we won't be using the
> built-in sources, or I'm missing something. That said perhaps this is
> different in case of iwd as it seems to be using useful.h directly:
>
> https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=17cf4da72613e80d08d51401399d02683ba8664b

for the build case --enable-external-ell you need need ell/useful.h linked or provided in the tarball. All other headers are not needed in that case. See my iwd commit that does exactly that.

Regards

Marcel