Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/tvheadend: fix build error with c++ disabled
@ 2022-07-30 10:55 Bernd Kuhls
  2022-07-30 15:40 ` Thomas Petazzoni via buildroot
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Bernd Kuhls @ 2022-07-30 10:55 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E . MORIN

The vp8 encoder depends on c++ support since commit
06a1a05b55aa64720d4ede9b07c385cc8f06625d

src/transcoding/codec/codecs/libs/libvpx.c:23:10: fatal error: vpx/vp8cx.h: No such file or directory
   23 | #include <vpx/vp8cx.h>

Fixes:
http://autobuild.buildroot.net/results/152/152dec2f7148a23fa1a434d2c6ad31de6d1b2466/
http://autobuild.buildroot.net/results/009/0090b100eca4f94d2f0081ce0db7ff9b4ae0ca79/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/tvheadend/Config.in    | 3 ++-
 package/tvheadend/tvheadend.mk | 7 +++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in
index c033b29819..99a24ec011 100644
--- a/package/tvheadend/Config.in
+++ b/package/tvheadend/Config.in
@@ -66,7 +66,8 @@ config BR2_PACKAGE_TVHEADEND_TRANSCODING
 	select BR2_PACKAGE_FFMPEG_AVRESAMPLE
 	select BR2_PACKAGE_FFMPEG_GPL # needed for x264 support
 	select BR2_PACKAGE_FFMPEG_SWSCALE
-	select BR2_PACKAGE_LIBVPX
+	# vp8 encoder needs c++
+	select BR2_PACKAGE_LIBVPX if BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_X264
 	help
 	  Enable transcoding support.
diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk
index 1d1a714505..8ceb7493c8 100644
--- a/package/tvheadend/tvheadend.mk
+++ b/package/tvheadend/tvheadend.mk
@@ -47,6 +47,12 @@ TVHEADEND_DEPENDENCIES += rpi-userland
 else
 TVHEADEND_CONF_OPTS += --disable-omx
 endif
+ifeq ($(BR2_PACKAGE_LIBVPX)$(BR2_INSTALL_LIBSTDCPP),yy)
+TVHEADEND_CONF_OPTS += --enable-libvpx
+TVHEADEND_DEPENDENCIES += libvpx
+else
+TVHEADEND_CONF_OPTS += --disable-libvpx
+endif
 ifeq ($(BR2_PACKAGE_X265),y)
 TVHEADEND_CONF_OPTS += --enable-libx265
 TVHEADEND_DEPENDENCIES += x265
@@ -59,6 +65,7 @@ TVHEADEND_CONF_OPTS += \
 	--disable-libopus \
 	--disable-omx \
 	--disable-vaapi \
+	--disable-libvpx \
 	--disable-libx264 \
 	--disable-libx265
 endif
-- 
2.30.2

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/tvheadend: fix build error with c++ disabled
  2022-07-30 10:55 [Buildroot] [PATCH 1/1] package/tvheadend: fix build error with c++ disabled Bernd Kuhls
@ 2022-07-30 15:40 ` Thomas Petazzoni via buildroot
  2022-07-30 16:28   ` Arnout Vandecappelle
       [not found] ` <20220730174036.48ca64aa__27858.7368129351$1659195663$gmane$org@windsurf>
  2022-08-01 20:36 ` Thomas Petazzoni via buildroot
  2 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-07-30 15:40 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: Yann E . MORIN, buildroot

Hello Bernd,

On Sat, 30 Jul 2022 12:55:34 +0200
Bernd Kuhls <bernd.kuhls@t-online.de> wrote:

> The vp8 encoder depends on c++ support since commit
> 06a1a05b55aa64720d4ede9b07c385cc8f06625d
> 
> src/transcoding/codec/codecs/libs/libvpx.c:23:10: fatal error: vpx/vp8cx.h: No such file or directory
>    23 | #include <vpx/vp8cx.h>
> 
> Fixes:
> http://autobuild.buildroot.net/results/152/152dec2f7148a23fa1a434d2c6ad31de6d1b2466/
> http://autobuild.buildroot.net/results/009/0090b100eca4f94d2f0081ce0db7ff9b4ae0ca79/
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  package/tvheadend/Config.in    | 3 ++-
>  package/tvheadend/tvheadend.mk | 7 +++++++
>  2 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in
> index c033b29819..99a24ec011 100644
> --- a/package/tvheadend/Config.in
> +++ b/package/tvheadend/Config.in
> @@ -66,7 +66,8 @@ config BR2_PACKAGE_TVHEADEND_TRANSCODING
>  	select BR2_PACKAGE_FFMPEG_AVRESAMPLE
>  	select BR2_PACKAGE_FFMPEG_GPL # needed for x264 support
>  	select BR2_PACKAGE_FFMPEG_SWSCALE
> -	select BR2_PACKAGE_LIBVPX
> +	# vp8 encoder needs c++
> +	select BR2_PACKAGE_LIBVPX if BR2_INSTALL_LIBSTDCPP
>  	select BR2_PACKAGE_X264
>  	help
>  	  Enable transcoding support.
> diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk
> index 1d1a714505..8ceb7493c8 100644
> --- a/package/tvheadend/tvheadend.mk
> +++ b/package/tvheadend/tvheadend.mk
> @@ -47,6 +47,12 @@ TVHEADEND_DEPENDENCIES += rpi-userland
>  else
>  TVHEADEND_CONF_OPTS += --disable-omx
>  endif
> +ifeq ($(BR2_PACKAGE_LIBVPX)$(BR2_INSTALL_LIBSTDCPP),yy)
> +TVHEADEND_CONF_OPTS += --enable-libvpx
> +TVHEADEND_DEPENDENCIES += libvpx
> +else
> +TVHEADEND_CONF_OPTS += --disable-libvpx
> +endif

It is apparently an optional dependency, so why do we select it in
Config.in?

Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/tvheadend: fix build error with c++ disabled
  2022-07-30 15:40 ` Thomas Petazzoni via buildroot
@ 2022-07-30 16:28   ` Arnout Vandecappelle
  2022-08-01 20:25     ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 7+ messages in thread
From: Arnout Vandecappelle @ 2022-07-30 16:28 UTC (permalink / raw)
  To: Thomas Petazzoni, Bernd Kuhls; +Cc: Yann E . MORIN, buildroot



On 30/07/2022 17:40, Thomas Petazzoni via buildroot wrote:
> Hello Bernd,
> 
> On Sat, 30 Jul 2022 12:55:34 +0200
> Bernd Kuhls <bernd.kuhls@t-online.de> wrote:
> 
>> The vp8 encoder depends on c++ support since commit
>> 06a1a05b55aa64720d4ede9b07c385cc8f06625d
>>
>> src/transcoding/codec/codecs/libs/libvpx.c:23:10: fatal error: vpx/vp8cx.h: No such file or directory
>>     23 | #include <vpx/vp8cx.h>
>>
>> Fixes:
>> http://autobuild.buildroot.net/results/152/152dec2f7148a23fa1a434d2c6ad31de6d1b2466/
>> http://autobuild.buildroot.net/results/009/0090b100eca4f94d2f0081ce0db7ff9b4ae0ca79/
>>
>> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
>> ---
>>   package/tvheadend/Config.in    | 3 ++-
>>   package/tvheadend/tvheadend.mk | 7 +++++++
>>   2 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in
>> index c033b29819..99a24ec011 100644
>> --- a/package/tvheadend/Config.in
>> +++ b/package/tvheadend/Config.in
>> @@ -66,7 +66,8 @@ config BR2_PACKAGE_TVHEADEND_TRANSCODING
>>   	select BR2_PACKAGE_FFMPEG_AVRESAMPLE
>>   	select BR2_PACKAGE_FFMPEG_GPL # needed for x264 support
>>   	select BR2_PACKAGE_FFMPEG_SWSCALE
>> -	select BR2_PACKAGE_LIBVPX
>> +	# vp8 encoder needs c++
>> +	select BR2_PACKAGE_LIBVPX if BR2_INSTALL_LIBSTDCPP
>>   	select BR2_PACKAGE_X264
>>   	help
>>   	  Enable transcoding support.
>> diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk
>> index 1d1a714505..8ceb7493c8 100644
>> --- a/package/tvheadend/tvheadend.mk
>> +++ b/package/tvheadend/tvheadend.mk
>> @@ -47,6 +47,12 @@ TVHEADEND_DEPENDENCIES += rpi-userland
>>   else
>>   TVHEADEND_CONF_OPTS += --disable-omx
>>   endif
>> +ifeq ($(BR2_PACKAGE_LIBVPX)$(BR2_INSTALL_LIBSTDCPP),yy)
>> +TVHEADEND_CONF_OPTS += --enable-libvpx
>> +TVHEADEND_DEPENDENCIES += libvpx
>> +else
>> +TVHEADEND_CONF_OPTS += --disable-libvpx
>> +endif
> 
> It is apparently an optional dependency, so why do we select it in
> Config.in?

  It is select'ed by transcoding support, but in the .mk file the optional 
dependency is always added just in case there's something else in tvheadend that 
starts using it.

  Regards,
  Arnout

> 
> Thanks!
> 
> Thomas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/tvheadend: fix build error with c++ disabled
       [not found] ` <20220730174036.48ca64aa__27858.7368129351$1659195663$gmane$org@windsurf>
@ 2022-07-30 16:41   ` Bernd Kuhls
  2022-08-01 20:37     ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 7+ messages in thread
From: Bernd Kuhls @ 2022-07-30 16:41 UTC (permalink / raw)
  To: buildroot

Am Sat, 30 Jul 2022 17:40:36 +0200 schrieb Thomas Petazzoni via buildroot:

> It is apparently an optional dependency, so why do we select it in
> Config.in?

Hi Thomas,

from the perspective of the build system, yes, libvpx is an optional 
dependency. When it comes to the user perspective of the transcoding 
feature, tvheadend by default includes codec-specific profiles, which 
include vp8:
https://github.com/tvheadend/tvheadend/blob/master/data/conf/transcoder/
profiles

So users who enable the transcoding option are expecting vp8 support, 
therefore I enabled it in Config.in:
https://git.busybox.net/buildroot/commit/package/tvheadend?
id=a9a14dc4357d32f705a52a5da73c782576ce6bc8

Regards, Bernd

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/tvheadend: fix build error with c++ disabled
  2022-07-30 16:28   ` Arnout Vandecappelle
@ 2022-08-01 20:25     ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-08-01 20:25 UTC (permalink / raw)
  To: Arnout Vandecappelle; +Cc: Bernd Kuhls, Yann E . MORIN, buildroot

On Sat, 30 Jul 2022 18:28:43 +0200
Arnout Vandecappelle <arnout@mind.be> wrote:

> > It is apparently an optional dependency, so why do we select it in
> > Config.in?  
> 
>   It is select'ed by transcoding support, but in the .mk file the optional 
> dependency is always added just in case there's something else in tvheadend that 
> starts using it.

This is not what's happening: Bernd's patch adds:

+ifeq ($(BR2_PACKAGE_LIBVPX)$(BR2_INSTALL_LIBSTDCPP),yy)
+TVHEADEND_CONF_OPTS += --enable-libvpx
+TVHEADEND_DEPENDENCIES += libvpx
+else
+TVHEADEND_CONF_OPTS += --disable-libvpx
+endif

inside the 

ifeq ($(BR2_PACKAGE_TVHEADEND_TRANSCODING),y)
...
endif

condition.

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/tvheadend: fix build error with c++ disabled
  2022-07-30 10:55 [Buildroot] [PATCH 1/1] package/tvheadend: fix build error with c++ disabled Bernd Kuhls
  2022-07-30 15:40 ` Thomas Petazzoni via buildroot
       [not found] ` <20220730174036.48ca64aa__27858.7368129351$1659195663$gmane$org@windsurf>
@ 2022-08-01 20:36 ` Thomas Petazzoni via buildroot
  2 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-08-01 20:36 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: Yann E . MORIN, buildroot

On Sat, 30 Jul 2022 12:55:34 +0200
Bernd Kuhls <bernd.kuhls@t-online.de> wrote:

> The vp8 encoder depends on c++ support since commit
> 06a1a05b55aa64720d4ede9b07c385cc8f06625d
> 
> src/transcoding/codec/codecs/libs/libvpx.c:23:10: fatal error: vpx/vp8cx.h: No such file or directory
>    23 | #include <vpx/vp8cx.h>
> 
> Fixes:
> http://autobuild.buildroot.net/results/152/152dec2f7148a23fa1a434d2c6ad31de6d1b2466/
> http://autobuild.buildroot.net/results/009/0090b100eca4f94d2f0081ce0db7ff9b4ae0ca79/
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  package/tvheadend/Config.in    | 3 ++-
>  package/tvheadend/tvheadend.mk | 7 +++++++
>  2 files changed, 9 insertions(+), 1 deletion(-)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/tvheadend: fix build error with c++ disabled
  2022-07-30 16:41   ` Bernd Kuhls
@ 2022-08-01 20:37     ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-08-01 20:37 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: buildroot

On Sat, 30 Jul 2022 18:41:00 +0200
Bernd Kuhls <bernd.kuhls@t-online.de> wrote:

> from the perspective of the build system, yes, libvpx is an optional 
> dependency. When it comes to the user perspective of the transcoding 
> feature, tvheadend by default includes codec-specific profiles, which 
> include vp8:
> https://github.com/tvheadend/tvheadend/blob/master/data/conf/transcoder/
> profiles
> 
> So users who enable the transcoding option are expecting vp8 support, 
> therefore I enabled it in Config.in:
> https://git.busybox.net/buildroot/commit/package/tvheadend?
> id=a9a14dc4357d32f705a52a5da73c782576ce6bc8

Thanks for the extra explanation, it would have been good to have it in
the commit log in the first place. Indeed, we normally prefer to keep
dependencies minimal in Buildroot in general, but I understand that
sometimes dependency that are optional from a build perspective are in
fact somewhat mandatory to make the package usable in practice.

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-08-01 20:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-30 10:55 [Buildroot] [PATCH 1/1] package/tvheadend: fix build error with c++ disabled Bernd Kuhls
2022-07-30 15:40 ` Thomas Petazzoni via buildroot
2022-07-30 16:28   ` Arnout Vandecappelle
2022-08-01 20:25     ` Thomas Petazzoni via buildroot
     [not found] ` <20220730174036.48ca64aa__27858.7368129351$1659195663$gmane$org@windsurf>
2022-07-30 16:41   ` Bernd Kuhls
2022-08-01 20:37     ` Thomas Petazzoni via buildroot
2022-08-01 20:36 ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox