collectd: fix musl builds (ipc module)
PATCH 1/1 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. 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/
--- package/collectd/0002-ipc-enable-gnu-source.patch | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 package/collectd/0002-ipc-enable-gnu-source.patch
package/collectd/0002-ipc-enable-gnu-source.patch new file +26 -0
@@ -0,0 +1,26 @@ +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 + +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() */
Signature · 1 line
2.0.3
PATCH 1/1 collectd: fix musl builds (ipc module)
Hi Alex,
On Mon, Nov 23, 2015 at 12:54:37PM +0200, Alex Suykov wrote:
[...]
Quoted 7 lines
package/collectd/0002-ipc-enable-gnu-source.patch new file +1
-0@@ -0,0 +1,26 @@ +https://github.com/collectd/collectd/commit/3e3848349b753d78a0b1d19648fb394866856bda
package/collectd/0002-ipc-enable-gnu-source.patch line 11
Quoted 10 lines
package/collectd/0002-ipc-enable-gnu-source.patch new file +10
-0+ + 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
Please add you sign-off here.
baruch
Quoted 15 lines
package/collectd/0002-ipc-enable-gnu-source.patch new file +15
-0+ +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() */
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH 1/1 collectd: fix musl builds (ipc module)
Quoted 3 lines · Baruch Siach
Quoted 1 line
+ Fixes #1147
Please add you sign-off here.
Ah, sorry, got confused because it wasn't my patch, it was something that I pulled from an external source.
v2 sent.