| Summary: | libkdexoauth2 fails to build because of newly enabled C99 standard: "duplicate symbol: atof" & similar | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] libkgapi | Reporter: | Kevin Funk <kfunk> |
| Component: | General | Assignee: | Daniel Vrátil <dvratil> |
| Status: | RESOLVED FIXED | ||
| Severity: | major | ||
| Priority: | NOR | ||
| Version First Reported In: | GIT | ||
| Target Milestone: | --- | ||
| Platform: | Ubuntu | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/pim/libkgapi/commit/ad7e81221fb8203bdb1b0a9d75bf5001d755f0ca | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Kevin Funk
2021-09-01 07:57:26 UTC
Further note: Looks like we're missing a 'saslplugin' component on Bugzilla. A possibly relevant merge request was started @ https://invent.kde.org/pim/libkgapi/-/merge_requests/18 Git commit ad7e81221fb8203bdb1b0a9d75bf5001d755f0ca by Kevin Funk. Committed on 08/09/2021 at 07:32. Pushed by lbeltrame into branch 'master'. saslplugin: Fix build under C99 on all platforms C99 changes the meaning of `extern inline` (https://stackoverflow.com/questions/216510/what-does-extern-inline-do). In our case that has the effect that some headers from glibc are treated differently, i.e. functions like `atof` are actually defined and exported in the object files including the header defining `atof` and friends. More information about this issue: https://gcc.gnu.org/legacy-ml/gcc/2006-11/msg00011.html Normally this should not be the case; the underlying issue is that libkgapi is using a generated config.h (./src/saslplugin/config.h) which is causing issues under C99. Fix this by generating the config.h file using CMake. This patch also updates the 3rdparty plugin_common.* to a more recent version (cyrus-sasl-2.1.27 to be exact), providing also support for "Windows 10 or greater". M +10 -3 src/saslplugin/CMakeLists.txt D +0 -573 src/saslplugin/config.h A +18 -0 src/saslplugin/config.h.in M +480 -532 src/saslplugin/plugin_common.c M +128 -93 src/saslplugin/plugin_common.h https://invent.kde.org/pim/libkgapi/commit/ad7e81221fb8203bdb1b0a9d75bf5001d755f0ca |