<table><tr><td style="">mpyne created this revision.<br />Restricted Application added a project: Frameworks.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D6598" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Believe it or not, but the <tt style="background: #ebebeb; font-size: 13px;">kill(2)</tt> system call is not specified to be available by default in C.  It's part of BSD, POSIX, Single UNIX Spec, etc., but you do have to declare one of the various feature test macros for a strict libc (such as musl) to expose the declaration.</p>

<p>The fix here was simply to define <tt style="background: #ebebeb; font-size: 13px;">_POSIX_SOURCE</tt> before including the various C stdlib or UNIX headers.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>kinit now compiles with musl libc<br />
kinit still compiles with glibc on Linux</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R303 KInit</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D6598" rel="noreferrer">https://phabricator.kde.org/D6598</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/start_kdeinit/start_kdeinit.c</div></div></div><br /><div><strong>To: </strong>mpyne, Frameworks<br /></div>