D8256: Add _XOPEN_SOURCE to C definitions

A. Wilcox noreply at phabricator.kde.org
Thu Oct 12 02:28:10 UTC 2017


awilcox created this revision.
awilcox added a reviewer: alexmerry.
Restricted Application added projects: Frameworks, Build System.
Restricted Application added subscribers: Build System, Frameworks.

REVISION SUMMARY
  (This was reported on the KDE bug tracker as Bug 373175 <https://bugs.kde.org/show_bug.cgi?id=373175>.  The summary of that bug follows.)
  
  When building on non-glibc Unix platforms, such as Solaris, NetBSD, and Linux/musl or Linux/uclibc, multiple components of KF5 fail to build.  This is because -std=iso9899:1990 is specified (for strict C90 compliance) but _XOPEN_SOURCE is not defined, so none of the POSIX interfaces are exported.  I have seen this reported in at least:
  
  - kinit
  - kscreenlocker
  - plasma-workspace
  
  The attached patch resolves this issue on all our build boxes; additionally, applying it to my glibc builder did not change the already working result.

TEST PLAN
  The entire Adélie Linux distribution's set of KDE packages has been built against extra-cmake-modules-5.38.0 with this patch applied.  The Plasma 5 desktop and KDE software build, test, and run correctly (where applicable).

REPOSITORY
  R240 Extra CMake Modules

REVISION DETAIL
  https://phabricator.kde.org/D8256

AFFECTED FILES
  kde-modules/KDECompilerSettings.cmake

To: awilcox, alexmerry
Cc: #frameworks, #build_system
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-buildsystem/attachments/20171012/8312585c/attachment.html>


More information about the Kde-buildsystem mailing list