| Summary: | libkdcraw should propagate the ${LIBS} from libraw.pc | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] libkdcraw | Reporter: | RJVB <rjvbertin> |
| Component: | General | Assignee: | imaging-bugs-null |
| Status: | REPORTED --- | ||
| Severity: | critical | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
SUMMARY libraw can be built with OpenMP support, which, at least when building with Clang, adds a dependency to a corresponding shared library. As a result, my libraw.pc (for v0.20.2) has ``` Libs: -L${libdir} -lraw -fopenmp ``` STEPS TO REPRODUCE 1. build and install libraw with OpenMP support (`configure [...] --enable-openmp [...]`) 2. build and install libkdcraw 3. try to build a dependent like gwenview OBSERVED RESULT The build will fail with the error message that libraw.so.20 has an undefined reference to a range of __kmpc_XXX symbols. EXPECTED RESULT No build failure. Adding `-fopenmp` to the linker flags fixes the issue. ADDITIONAL INFORMATION I've observed this on Linux but I presume it will be the case on any Unix version where private dependencies of shared libraries aren't pulled in automatically and/or where libraw itself isn't linked to the openmp library (= all Unices except Darwin?).