Merge lp:~raof/mir/buildsystems-are-the-worst into lp:mir
Status: | Rejected |
---|---|
Rejected by: | Chris Halse Rogers |
Proposed branch: | lp:~raof/mir/buildsystems-are-the-worst |
Merge into: | lp:mir |
Diff against target: |
74 lines (+10/-11) 3 files modified
CMakeLists.txt (+2/-0) cmake/LinuxCrossCompile.cmake (+3/-5) cmake/MirCommon.cmake (+5/-6) |
To merge this branch: | bzr merge lp:~raof/mir/buildsystems-are-the-worst |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Needs Fixing | |
Andreas Pokorny (community) | Needs Information | ||
Alan Griffiths | Needs Fixing | ||
Review via email: mp+231840@code.launchpad.net |
Commit message
Don't let CMake play with rpath, it cuts itself.
So, the awesome thing about rpath is that it PRECEEDS all the other paths.
If, just for the sake of argument, your cross compiles set an rpath to
your partial chroot you'd find that you're surprisingly loading the version of libmirclient.so.8 found in there.
Rather than letting CMake do its rpath voodoo, manually set up the rpath-link flags we need for the cross-compile and set LD_LIBRARY_PATH appropriately where needed.
Fixes the multiple inclusion of protobuf singletons caused when the system
Mir stuff is linking against one version of libmircommon and we're building
a new version.
Description of the change
Revel in the weirdness of buildsystems!
Unmerged revisions
- 1860. By Chris Halse Rogers
-
Merge trunk
- 1859. By Chris Halse Rogers
-
Don't let CMake play with rpath, it cuts itself.
So, the awesome thing about rpath is that it PRECEEDS all the other paths.
If, just for the sake of argument, your cross compiles set an rpath-link to
your partial chroot you'd find that you're surprisingly linking against the
version of libmirclient.so.8 found in there.Fixes the multiple inclusion of protobuf singletons caused when the system
Mir stuff is linking against one version of libmircommon and we're building
a new version.
I'm concerned by the need to set LD_LIBRARY_PATH - do we need to do that when running the programs from the commandline? If so, that is too much of a trap for the unwary.