summaryrefslogtreecommitdiff
path: root/package/collectd
diff options
context:
space:
mode:
authorAlex Suykov <alex.suykov@gmail.com>2015-11-23 13:12:42 +0200
committerPeter Korsgaard <peter@korsgaard.com>2015-11-26 22:27:35 +0100
commit0240baa4b02826b438f5a0f90c8dd1294493b089 (patch)
treeb80d16d5581eb7c06a6fac0bc407e39afbe52fee /package/collectd
parentac43476f544edf4d3c551c5fa6e44fbe2b97ce64 (diff)
collectd: fix musl builds (ipc module)
src/ipc.c uses shm_info.used_ids which musl only provides when _GNU_SOURCE is defined. The issue has been fixed upstream, but the fix is not in their latest 5.5.0 release. Adding their patch as a temporary fix to be removed on the next version bump. https://github.com/collectd/collectd/issues/1147 https://github.com/collectd/collectd/commit/3e3848349b753d78a0b1d19648fb394866856bda Fixes http://autobuild.buildroot.net/results/e981c08f01d2916246a17b1dc112e8b3e8c628e2/ Signed-off-by: Alex Suykov <alex.suykov@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/collectd')
-rw-r--r--package/collectd/0002-ipc-enable-gnu-source.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/package/collectd/0002-ipc-enable-gnu-source.patch b/package/collectd/0002-ipc-enable-gnu-source.patch
new file mode 100644
index 000000000..459fdbdbb
--- /dev/null
+++ b/package/collectd/0002-ipc-enable-gnu-source.patch
@@ -0,0 +1,28 @@
+https://github.com/collectd/collectd/commit/3e3848349b753d78a0b1d19648fb394866856bda
+
+ ipc: enable _GNU_SOURCE to fix build with musl libc
+
+ This fixes compile the compile error:
+
+ > ipc.c:154:49: error: 'struct shm_info' has no member named 'used_ids'
+ > ipc_submit_g("shm", "segments", NULL, shm_info.used_ids);
+ > ^
+
+ Fixes #1147
+
+Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
+
+diff --git a/src/ipc.c b/src/ipc.c
+index 3763f24..b403847 100644
+--- a/src/ipc.c
++++ b/src/ipc.c
+@@ -32,6 +32,9 @@
+ #include "configfile.h"
+
+ #if KERNEL_LINUX
++ /* _GNU_SOURCE is needed for struct shm_info.used_ids on musl libc */
++# define _GNU_SOURCE
++
+ /* X/OPEN tells us to use <sys/{types,ipc,sem}.h> for semctl() */
+ /* X/OPEN tells us to use <sys/{types,ipc,msg}.h> for msgctl() */
+ /* X/OPEN tells us to use <sys/{types,ipc,shm}.h> for shmctl() */