diff mbox series

[v1] package/libcamera: fix uclibc/musl compile with libexecinfo enabled

Message ID 20220131230730.22235-1-ps.report@gmx.net
State Superseded
Headers show
Series [v1] package/libcamera: fix uclibc/musl compile with libexecinfo enabled | expand

Commit Message

Peter Seiderer Jan. 31, 2022, 11:07 p.m. UTC
- depend and link against libexecinfo if enabled to fix linking failure
  in case execinfo.h is detected, see
  libcamera-40f5fddca7f774944a53f58eeaebc4db79c373d8/meson.build:

   32 if cc.has_header_symbol('execinfo.h', 'backtrace')
   33     config_h.set('HAVE_BACKTRACE', 1)
   34 endif

- libexecinfo already depends on !BR2_TOOLCHAIN_USES_GLIBC

Fixes:

  - http://autobuild.buildroot.net/results/a1077815895ab847c5ca82ec17c7d13fe97cff53

  .../powerpc-buildroot-linux-uclibc/bin/ld: src/libcamera/base/libcamera-base.so.p/log.cpp.o: in function `libcamera::Logger::backtrace()':
  log.cpp:(.text+0x34b0): undefined reference to `backtrace'
  .../powerpc-buildroot-linux-uclibc/bin/ld: log.cpp:(.text+0x34c0): undefined reference to `backtrace_symbols'

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 package/libcamera/libcamera.mk | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Peter Seiderer Feb. 1, 2022, 10:32 p.m. UTC | #1
On Tue,  1 Feb 2022 00:07:30 +0100, Peter Seiderer <ps.report@gmx.net> wrote:

> - depend and link against libexecinfo if enabled to fix linking failure
>   in case execinfo.h is detected, see
>   libcamera-40f5fddca7f774944a53f58eeaebc4db79c373d8/meson.build:
>
>    32 if cc.has_header_symbol('execinfo.h', 'backtrace')
>    33     config_h.set('HAVE_BACKTRACE', 1)
>    34 endif
>
> - libexecinfo already depends on !BR2_TOOLCHAIN_USES_GLIBC
>
> Fixes:
>
>   - http://autobuild.buildroot.net/results/a1077815895ab847c5ca82ec17c7d13fe97cff53
>
>   .../powerpc-buildroot-linux-uclibc/bin/ld: src/libcamera/base/libcamera-base.so.p/log.cpp.o: in function `libcamera::Logger::backtrace()':
>   log.cpp:(.text+0x34b0): undefined reference to `backtrace'
>   .../powerpc-buildroot-linux-uclibc/bin/ld: log.cpp:(.text+0x34c0): undefined reference to `backtrace_symbols'
>
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
>  package/libcamera/libcamera.mk | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/package/libcamera/libcamera.mk b/package/libcamera/libcamera.mk
> index 524cf07e03..9be45d248a 100644
> --- a/package/libcamera/libcamera.mk
> +++ b/package/libcamera/libcamera.mk
> @@ -99,4 +99,9 @@ else
>  LIBCAMERA_CONF_OPTS += -Dtracing=disabled
>  endif
>
> +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
> +LIBCAMERA_DEPENDENCIES += libexecinfo
> +LIBCAMERA_LDFLAGS += -lexecinfo

Should be:

	LIBCAMERA_LDFLAGS = $(TARGET_LDFLAGS) -lexecinfo

Updated patch will follow...

Regards,
Peter

> +endif
> +
>  $(eval $(meson-package))
diff mbox series

Patch

diff --git a/package/libcamera/libcamera.mk b/package/libcamera/libcamera.mk
index 524cf07e03..9be45d248a 100644
--- a/package/libcamera/libcamera.mk
+++ b/package/libcamera/libcamera.mk
@@ -99,4 +99,9 @@  else
 LIBCAMERA_CONF_OPTS += -Dtracing=disabled
 endif
 
+ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
+LIBCAMERA_DEPENDENCIES += libexecinfo
+LIBCAMERA_LDFLAGS += -lexecinfo
+endif
+
 $(eval $(meson-package))