| Summary: | kdesrc-build tried to link against a system library rather than the version of that library that it built a few minutes ago | ||
|---|---|---|---|
| Product: | [Developer tools] kdesrc-build | Reporter: | Nate Graham <nate> |
| Component: | general | Assignee: | Michael Pyne <mpyne> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | Git | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Nate Graham
2018-12-23 22:48:43 UTC
Sourcing one of the autogenerated prefix.sh files before running kdesrc-build worked around the issue, presumably because that appends the local lib directory to $QT_PLUGIN_PATH. That's interesting, because although there's some checks in kdesrc-build for libraries in /usr, it's uniformly to try to *avoid* having libraries in /usr override the defined prefix (which we've seen before as well). We only use CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH (as environment variables) to try to find the other KF5 libraries and those are just set unilaterally to the right value. If it doesn't take too long I'd be interested to know what variable in prefix.sh fixes the kdesrc-build run. Also wanted to follow up to note that the Stack Overflow answer mentions using LD_LIBRARY_PATH, which we've documented in KF5 that you should *not* use. All KF5/Plasma5 software should successfully link without requiring LD_LIBRARY_PATH, and if it doesn't that's a separate bug (either in the app/lib or in kdesrc-build). Right, I didn't use LD_LIBRARY_PATH, which is only applicable at runtime anyway, not compile-time. Unfortunately I can no longer reproduce the issue after unsetting all the variables set by prefix.sh and reverting my $PATH. :( Haven't seen this since; let's call it fixed. |