Summary: | net-misc/connman fails to emerge on uclibc system | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Amadeusz Sławiński <amade> |
Component: | [OLD] Unspecified | Assignee: | Embedded Gentoo Team <embedded> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
proposed patch proposed patch v2 |
Description
Amadeusz Sławiński
2013-07-01 14:02:55 UTC
Created attachment 352398 [details]
build.log
(In reply to Amadeusz Sławiński from comment #0) > src/log.c:33:22: fatal error: execinfo.h: No such file or directory > compilation terminated. > make[1]: *** [src/log.o] Error 1 > make[1]: *** Waiting for unfinished jobs.... > make: *** [all] Error 2 > > There are two ways to approach this 1) compile uclibc with UCLIBC_HAS_BACKTRACE or 2) put #ifdef __UCLIBC__ around the execinfo code or 3) better yet, add some backtrace check to the build system and add #ifdef __HAS_BACKTRACE__. I'm preferring the last option because its portable ot other systems, and you *can* optionally have backtrace. Created attachment 352418 [details, diff]
proposed patch
Simple patch using suggested approach, if it does look good I will send it upstream.
Comment on attachment 352418 [details, diff] proposed patch >--- a/connman-1.15/src/log.c 2013-07-01 18:28:17.123258909 +0000 >+++ b/connman-1.15/src/log.c 2013-07-01 18:39:21.981269479 +0000 >@@ -110,6 +112,7 @@ > va_end(ap); > } > >+#ifdef HAVE_EXECINFO_H > static void print_backtrace(unsigned int offset) > { > void *frames[99]; >@@ -211,12 +214,15 @@ > close(outfd[1]); > close(infd[0]); > } >+#endif > > static void signal_handler(int signo) > { > connman_error("Aborting (signal %d) [%s]", signo, program_exec); > >+#ifdef HAVE_EXECINFO_H > print_backtrace(2); >+#endif > > exit(EXIT_FAILURE); > } put the ifdef inside of the func and you won't need to protect the call points static void print_backtrace(unsigned int offset) { #ifdef HAVE_EXECINFO_H ........ #endif } Created attachment 352466 [details, diff]
proposed patch v2
Thanks for suggestion.
(In reply to Amadeusz Sławiński from comment #5) > Created attachment 352466 [details, diff] [details, diff] > proposed patch v2 > > Thanks for suggestion. This is good. Send it upstream. Here's their bugzilla. I don't know how they accept patches though but you might start there: https://bugs.meego.com/describecomponents.cgi?product=Connection%20Manager +*connman-1.18 (06 Oct 2013) +*connman-1.17 (06 Oct 2013) +*connman-1.16 (06 Oct 2013) + + 06 Oct 2013; Tony Vroon <chainsaw@gentoo.org> +connman-1.16.ebuild, + +connman-1.17.ebuild, +connman-1.18.ebuild, + +files/connman-1.16-execinfo-assumptions.patch: + Now compatible with uclibc thanks to Amadeusz Sławiński, closes bug + #475422. Version bumps as requested by José Romildo Malaquias in bug + #486784. DHCPv6 support almost RFC-compliant now. Machine-generated config + files no longer have trailing whitespace. 1.18 will be the stable candidate. |