Merge lp:~vanvugt/unity-system-compositor/fix-1355609 into lp:unity-system-compositor

Proposed by Daniel van Vugt
Status: Merged
Approved by: Daniel van Vugt
Approved revision: 165
Merged at revision: 169
Proposed branch: lp:~vanvugt/unity-system-compositor/fix-1355609
Merge into: lp:unity-system-compositor
Diff against target: 12 lines (+1/-1)
1 file modified
src/CMakeLists.txt (+1/-1)
To merge this branch: bzr merge lp:~vanvugt/unity-system-compositor/fix-1355609
Reviewer Review Type Date Requested Status
Cemil Azizoglu (community) Approve
Alan Griffiths Approve
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+230429@code.launchpad.net

Commit message

When building static library "usc.a" make sure you use
MIRSERVER_STATIC_LDFLAGS or else the Requires.private information from
mirserver.pc won't be used, leading to linkage failure (LP: #1355609)

Description of the change

"... libraries from Requires.private will only be included when static linking."
[http://people.freedesktop.org/~dbn/pkg-config-guide.html]

So the introduction of Requires.private was correct, but is only used in STATIC downstream targets, and even then only if you remember to use the MIRSERVER_STATIC_* variables.

To post a comment you must log in.
165. By Daniel van Vugt

Document!

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

Is this an alternative incantation for "bzr diff -c 155 lp:~mir-team/unity-system-compositor/devel-mir-next"?

review: Needs Information
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

No, revision 155 is not an alternative solution. The necessary references to mirclient only exist in MIRSERVER_STATIC variables. Have a look at <usc-builddir>/CMakeCache.txt, or at my comments in bug 1355609.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

BTW, if you do find mention of mirclient in MIRSERVER_L* then you've configured your usc build incorrectly and are using an _old_ version of mirserver.pc somehow. I suspect this is why our build silos keep working when clearly they should be failing.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

Nope, am using the right mirserver.pc - don't understand the different results but don't object to the change.

review: Approve
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

Looks good. Let me know if you need help landing this.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/CMakeLists.txt'
2--- src/CMakeLists.txt 2014-07-09 06:58:05 +0000
3+++ src/CMakeLists.txt 2014-08-12 06:22:18 +0000
4@@ -61,7 +61,7 @@
5 link_directories(${MIRSERVER_LIBRARY_DIRS})
6
7 target_link_libraries(usc
8- ${MIRSERVER_LDFLAGS}
9+ ${MIRSERVER_STATIC_LDFLAGS} # Meaning usc is STATIC, _not_ libmirserver.
10 pthread
11 ${Boost_LIBRARIES}
12 ${GLESv2_LIBRARIES}

Subscribers

People subscribed via source and target branches