mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-28 05:36:32 +00:00
domoticz: fix build with uClibc
domoticz.cpp currently assumes that on GNU/Linux systems header <execinfo.h> is available. But that is not true. Since it provided by C library and uClibc can be built without backtrace support. And in such cases we get following build error. domoticz-3.4834/main/domoticz.cpp:48:22: fatal error: execinfo.h: No such file or directory #include <execinfo.h> ^ compilation terminated. This commit adds patch for detecting presence of <execinfo.h> and guards code accordingly. Fixes: http://autobuild.buildroot.net/results/393/393f839e160b51ca12ac36058718ad2f0c1b50a6/ Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
791e35f222
commit
3f9c5fb096
@ -0,0 +1,61 @@
|
|||||||
|
From 5409696dfcbb05d6e4e67e74c97487b1987639e1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
|
||||||
|
Date: Thu, 25 Aug 2016 17:23:38 +0530
|
||||||
|
Subject: [PATCH 1/1] add proper check for detecting header <execinfo.h>
|
||||||
|
|
||||||
|
domoticz.cpp currently assumes that on GNU/Linux systems header
|
||||||
|
<execinfo.h> is available. But that is not true. Since it provided by
|
||||||
|
C library and uClibc can be built without backtrace support. And in
|
||||||
|
such cases we get following build error.
|
||||||
|
|
||||||
|
domoticz-3.4834/main/domoticz.cpp:48:22: fatal error: execinfo.h: No such file or directory
|
||||||
|
#include <execinfo.h>
|
||||||
|
^
|
||||||
|
compilation terminated.
|
||||||
|
|
||||||
|
Instead of depending on __gnu_linux__, add check for detecting
|
||||||
|
presence of <execinfo.h> and guard code for dumpstack accordingly.
|
||||||
|
|
||||||
|
This build failure is detected by Buildroot autobuilder.
|
||||||
|
http://autobuild.buildroot.net/results/393/393f839e160b51ca12ac36058718ad2f0c1b50a6/
|
||||||
|
|
||||||
|
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 7 +++++++
|
||||||
|
main/domoticz.cpp | 2 +-
|
||||||
|
2 files changed, 8 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index d3113f4..ef32f7b 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -61,6 +61,13 @@ SET(EXECUTABLE_OUTPUT_PATH "" CACHE INTERNAL
|
||||||
|
"Where to put the executables for Domoticz"
|
||||||
|
)
|
||||||
|
|
||||||
|
+INCLUDE(CheckIncludeFiles)
|
||||||
|
+CHECK_INCLUDE_FILES (execinfo.h HAVE_EXECINFO_H)
|
||||||
|
+
|
||||||
|
+IF(HAVE_EXECINFO_H)
|
||||||
|
+ ADD_DEFINITIONS(-DHAVE_EXECINFO_H)
|
||||||
|
+ENDIF(HAVE_EXECINFO_H)
|
||||||
|
+
|
||||||
|
#set(CMAKE_EXE_LINKER_FLAGS "-static")
|
||||||
|
|
||||||
|
# Macro for setting up precompiled headers. Usage:
|
||||||
|
diff --git a/main/domoticz.cpp b/main/domoticz.cpp
|
||||||
|
index 69d2ef6..c52e5ac 100644
|
||||||
|
--- a/main/domoticz.cpp
|
||||||
|
+++ b/main/domoticz.cpp
|
||||||
|
@@ -44,7 +44,7 @@
|
||||||
|
#include <string.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#ifdef __gnu_linux__
|
||||||
|
+#ifdef HAVE_EXECINFO_H
|
||||||
|
#include <execinfo.h>
|
||||||
|
static void dumpstack(void) {
|
||||||
|
// Notes :
|
||||||
|
--
|
||||||
|
2.6.2
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user