Bug 439611 - libkdcraw should propagate the ${LIBS} from libraw.pc
Summary: libkdcraw should propagate the ${LIBS} from libraw.pc
Status: REPORTED
Alias: None
Product: libkdcraw
Classification: Frameworks and Libraries
Component: General (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR critical
Target Milestone: ---
Assignee: imaging-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-07 18:42 UTC by RJVB
Modified: 2021-07-07 18:42 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description RJVB 2021-07-07 18:42:57 UTC
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?).