2018-04-20 10:00:36

by Thomas Petazzoni

[permalink] [raw]
Subject: [blueZ] Readline mandatory ?

Hello,

Until commit bee3796113196da1b3f56da42fcae4d9bae6695e, the readline
library was an optional dependency of bluez (only needed when
--enable-client was used).

However, following this commit, shell.c is now built as part of
libshared, and readline becomes a mandatory dependency, which is not even
checked by the configure script. This leads to a build failure such as:

src/shared/shell.c:39:31: fatal error: readline/readline.h: No such file or directory
#include <readline/readline.h>

Is this an intended side effect of commit
bee3796113196da1b3f56da42fcae4d9bae6695e ? If yes, then the configure
script should be adjusted accordingly. If not, how should the code be
fixed to not use readline unconditionally ?

The fact that readline is under GPLv3 might be an issue for some
people, so having it as a mandatory dependency might be problematic.

The problem reported here exists in both the 5.49 release and the
latest master branch as of a085d8c88bd45474d3f9d9a0d3d20ebf7de858f6.

Any hint on how to resolve this issue ?

Thanks,

Thomas Petazzoni
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com


2018-04-20 13:04:37

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [blueZ] Readline mandatory ?

Hi Thomas,

On Fri, Apr 20, 2018 at 3:57 PM, Luiz Augusto von Dentz
<[email protected]> wrote:
> Hi Thomas,
>
> On Fri, Apr 20, 2018 at 1:00 PM, Thomas Petazzoni
> <[email protected]> wrote:
>> Hello,
>>
>> Until commit bee3796113196da1b3f56da42fcae4d9bae6695e, the readline
>> library was an optional dependency of bluez (only needed when
>> --enable-client was used).
>>
>> However, following this commit, shell.c is now built as part of
>> libshared, and readline becomes a mandatory dependency, which is not even
>> checked by the configure script. This leads to a build failure such as:
>>
>> src/shared/shell.c:39:31: fatal error: readline/readline.h: No such file or directory
>> #include <readline/readline.h>
>>
>> Is this an intended side effect of commit
>> bee3796113196da1b3f56da42fcae4d9bae6695e ? If yes, then the configure
>> script should be adjusted accordingly. If not, how should the code be
>> fixed to not use readline unconditionally ?
>>
>> The fact that readline is under GPLv3 might be an issue for some
>> people, so having it as a mandatory dependency might be problematic.
>>
>> The problem reported here exists in both the 5.49 release and the
>> latest master branch as of a085d8c88bd45474d3f9d9a0d3d20ebf7de858f6.
>>
>> Any hint on how to resolve this issue ?
>
> We will have to fix this, it shell should probably be conditional to
> build with libshared like the tools are.

Ive send a patch for it, could please check if it does build properly
on a system without readline.

>> Thanks,
>>
>> Thomas Petazzoni
>> --
>> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
>> Embedded Linux and Kernel engineering
>> https://bootlin.com
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
>
> --
> Luiz Augusto von Dentz



--
Luiz Augusto von Dentz

2018-04-20 12:57:32

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [blueZ] Readline mandatory ?

Hi Thomas,

On Fri, Apr 20, 2018 at 1:00 PM, Thomas Petazzoni
<[email protected]> wrote:
> Hello,
>
> Until commit bee3796113196da1b3f56da42fcae4d9bae6695e, the readline
> library was an optional dependency of bluez (only needed when
> --enable-client was used).
>
> However, following this commit, shell.c is now built as part of
> libshared, and readline becomes a mandatory dependency, which is not even
> checked by the configure script. This leads to a build failure such as:
>
> src/shared/shell.c:39:31: fatal error: readline/readline.h: No such file or directory
> #include <readline/readline.h>
>
> Is this an intended side effect of commit
> bee3796113196da1b3f56da42fcae4d9bae6695e ? If yes, then the configure
> script should be adjusted accordingly. If not, how should the code be
> fixed to not use readline unconditionally ?
>
> The fact that readline is under GPLv3 might be an issue for some
> people, so having it as a mandatory dependency might be problematic.
>
> The problem reported here exists in both the 5.49 release and the
> latest master branch as of a085d8c88bd45474d3f9d9a0d3d20ebf7de858f6.
>
> Any hint on how to resolve this issue ?

We will have to fix this, it shell should probably be conditional to
build with libshared like the tools are.

> Thanks,
>
> Thomas Petazzoni
> --
> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> https://bootlin.com
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html



--
Luiz Augusto von Dentz