Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/libcamera-apps: enable LIBAV only if libdrm is present
@ 2023-02-07  8:54 Marcus Folkesson
  2023-02-07 15:22 ` Yann E. MORIN
  0 siblings, 1 reply; 2+ messages in thread
From: Marcus Folkesson @ 2023-02-07  8:54 UTC (permalink / raw)
  To: buildroot; +Cc: Marcus Folkesson

Since commit 35266e84043f880d7591e52b71a8c5b8d0e4717d, libcamera-apps
does enable LIBAV by default which depends on libdrm.

Fixes:
- http://autobuild.buildroot.net/results/548f2a3b353ce4693fb60d7fb1e06e02af22991c/

/home/buildroot/autobuild/run/instance-1/output-1/build/libcamera-apps-1.1.1/encoder/libav_encoder.cpp:13:10: fatal error: libdrm/drm_fourcc.h: No such file or directory
   13 | #include <libdrm/drm_fourcc.h>
      |          ^~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
---
 package/libcamera-apps/libcamera-apps.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/libcamera-apps/libcamera-apps.mk b/package/libcamera-apps/libcamera-apps.mk
index 290ee9a026..385c65136e 100644
--- a/package/libcamera-apps/libcamera-apps.mk
+++ b/package/libcamera-apps/libcamera-apps.mk
@@ -25,8 +25,10 @@ LIBCAMERA_APPS_CONF_OPTS = \
 ifeq ($(BR2_PACKAGE_LIBDRM),y)
 LIBCAMERA_APPS_DEPENDENCIES += libdrm
 LIBCAMERA_APPS_CONF_OPTS += -DENABLE_DRM=1
+LIBCAMERA_APPS_CONF_OPTS += -DENABLE_LIBAV=1
 else
 LIBCAMERA_APPS_CONF_OPTS += -DENABLE_DRM=0
+LIBCAMERA_APPS_CONF_OPTS += -DENABLE_LIBAV=0
 endif
 
 ifeq ($(BR2_PACKAGE_XORG7),y)
-- 
2.38.1

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

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

* Re: [Buildroot] [PATCH] package/libcamera-apps: enable LIBAV only if libdrm is present
  2023-02-07  8:54 [Buildroot] [PATCH] package/libcamera-apps: enable LIBAV only if libdrm is present Marcus Folkesson
@ 2023-02-07 15:22 ` Yann E. MORIN
  0 siblings, 0 replies; 2+ messages in thread
From: Yann E. MORIN @ 2023-02-07 15:22 UTC (permalink / raw)
  To: Marcus Folkesson; +Cc: buildroot

Marcus, All,

On 2023-02-07 09:54 +0100, Marcus Folkesson spake thusly:
> Since commit 35266e84043f880d7591e52b71a8c5b8d0e4717d, libcamera-apps
> does enable LIBAV by default which depends on libdrm.
> 
> Fixes:
> - http://autobuild.buildroot.net/results/548f2a3b353ce4693fb60d7fb1e06e02af22991c/
> 
> /home/buildroot/autobuild/run/instance-1/output-1/build/libcamera-apps-1.1.1/encoder/libav_encoder.cpp:13:10: fatal error: libdrm/drm_fourcc.h: No such file or directory
>    13 | #include <libdrm/drm_fourcc.h>
>       |          ^~~~~~~~~~~~~~~~~~~~~
> 
> Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
> ---
>  package/libcamera-apps/libcamera-apps.mk | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/package/libcamera-apps/libcamera-apps.mk b/package/libcamera-apps/libcamera-apps.mk
> index 290ee9a026..385c65136e 100644
> --- a/package/libcamera-apps/libcamera-apps.mk
> +++ b/package/libcamera-apps/libcamera-apps.mk
> @@ -25,8 +25,10 @@ LIBCAMERA_APPS_CONF_OPTS = \
>  ifeq ($(BR2_PACKAGE_LIBDRM),y)
>  LIBCAMERA_APPS_DEPENDENCIES += libdrm
>  LIBCAMERA_APPS_CONF_OPTS += -DENABLE_DRM=1
> +LIBCAMERA_APPS_CONF_OPTS += -DENABLE_LIBAV=1

But doesn't ENABLE_LIBAV also need a few libraries? From libcamera-apps'
encoder/CMakeLists.txt:

   13 if (ENABLE_LIBAV)
   14     message(STATUS "Checking for libavcodec")
   15     pkg_check_modules(LIBAV QUIET IMPORTED_TARGET
   16         libavcodec
   17         libavdevice
   18         libavformat
   19         libswresample
   20     )

libavcodec, libavdevice, libavformat, and libswresample come with
ffmpeg, so this should be added to dependencies too.

Note: in fact, if the libs are not found, the feature will be silently
disabled:

   21     if (LIBAV_FOUND)
   22         include_directories(${LIBAV_INCLUDE_DIRS})
   23         set(SRC ${SRC} libav_encoder.cpp)
   24         set(TARGET_LIBS ${TARGET_LIBS} ${LIBAV_LIBRARIES})
   25         set(LIBAV_PRESENT 1)
   26         message(STATUS "libavcodec found:")
   27         message(STATUS "    libraries: ${LIBAV_LIBRARIES}")
   28     endif()
   29 else()
   30     message(STATUS "Omitting libavcodec")
   31 endif()

However, this is not clean, because we explicitly asked for a feature
(enable libav suport) but it gets disabled because of missing
dependencies.

So, either we explicitly and unconditionally disable it, or we add the
necessary dependencies.

Regards,
Yann E. MORIN.

>  else
>  LIBCAMERA_APPS_CONF_OPTS += -DENABLE_DRM=0
> +LIBCAMERA_APPS_CONF_OPTS += -DENABLE_LIBAV=0
>  endif
>  
>  ifeq ($(BR2_PACKAGE_XORG7),y)
> -- 
> 2.38.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2023-02-07 15:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-07  8:54 [Buildroot] [PATCH] package/libcamera-apps: enable LIBAV only if libdrm is present Marcus Folkesson
2023-02-07 15:22 ` Yann E. MORIN

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