[opensource-dev] Review Request: VWR-24366: CMAKE_EXE_LINKER_FLAGS not honored when linking the viewer binary if -DLL_TESTS:BOOL=ON

Aleric Inglewood Aleric.Inglewood at gmail.com
Thu Feb 3 18:39:11 PST 2011



> On Jan. 14, 2011, 5:27 p.m., Merov Linden wrote:
> > Makes sense.

*bump*

Can this patch please be added to viewer-development soon? It's annoying that I can't even compile the viewer without having to apply local patches :/ (I just lost an hour because I didn't realize that this patch still wasn't in v-d and waited and waited and waited and waited an waited for the viewer to link, until I finally just hit control-C.)


- Aleric


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://codereview.secondlife.com/r/95/#review163
-----------------------------------------------------------


On Jan. 14, 2011, 1:15 p.m., Aleric Inglewood wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://codereview.secondlife.com/r/95/
> -----------------------------------------------------------
> 
> (Updated Jan. 14, 2011, 1:15 p.m.)
> 
> 
> Review request for Viewer.
> 
> 
> Summary
> -------
> 
> Setting CMAKE_EXE_LINKER_FLAGS to "" because the tests "need" that is pretty
> hard measure. Not only is it not necessary to do so, it also changes how
> the viewer is linked depending on a whether or not the tests are compiled
> and that is not good.
> 
> The reason that this was needed is that libgmock is underlinked
> (see http://wiki.mandriva.com/en/Underlinking), which is not compatible
> with -Wl,--as-needed that is being used on linux. libgmock.so.0 needs
> a symbol that is defined in libgtest.so.o, but -lgtest was not passed
> to the linker when creating libgmock.so.0:
> 
> Underlinked (no libgtest.so.o):
> $ objdump -p /usr/lib/libgmock.so.0 | grep NEEDED
> NEEDED libstdc++.so.6
> NEEDED libm.so.6
> NEEDED libc.so.6
> NEEDED libgcc_s.so.1
> 
> The solution is to wrap between -Wl,--no-as-needed -lgtest -Wl,--as-needed
> causing it to be added again. This is only needed on linux, since that
> the only platform that we use -Wl,--as-needed on. Moreover, we can just
> set GOOGLEMOCK_LIBRARIES to "gmock -Wl,--no-as-needed gtest -Wl,--as-needed"
> since that is only passed to TARGET_LINK_LIBRARIES which only adds -l
> in front of 'things' that don't start with '-', to allow you do pass
> special flags like this.
> 
> 
> This addresses bug VWR-24366.
>     http://jira.secondlife.com/browse/VWR-24366
> 
> 
> Diffs
> -----
> 
>   doc/contributions.txt 422f636c3343 
>   indra/cmake/GoogleMock.cmake 422f636c3343 
>   indra/cmake/LLAddBuildTest.cmake 422f636c3343 
> 
> Diff: http://codereview.secondlife.com/r/95/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Aleric
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/opensource-dev/attachments/20110204/b020736c/attachment.htm 


More information about the opensource-dev mailing list