New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cmake: fix the build of tests #7523
Conversation
@tchaikov do you have a link to the gitbuilder log? |
@cbodley http://gitbuilder.sepia.ceph.com/gitbuilder-ceph-tarball-trusty-amd64-cmake/log.cgi?log=995a6029bbaf6bdf1e5614bb07a2182187e11884 .
|
thanks @tchaikov. i also can't figure out why boost_system is getting pulled in - a grep for 'system_category' on our source tree came up empty. i get the feeling the cmake build is getting this heap_profiler stuff horribly wrong. i read through the automake files, and all they do is build a libperfglue.la and add it to LIBOSD/LIBMON/LIBMDS. we should eventually do an audit on this stuff in cmake to make sure we get it right, but i'm fine with merging your fix in the meantime |
1cd6e87
to
3921918
Compare
@cbodley root caused and fixed it. |
3921918
to
0fde5da
Compare
hey @alimaredia could you help review it? |
0fde5da
to
514e7d6
Compare
@mattbenjamin didn't you say we needed to do the two points Kefu mentioned in his previous post? |
pushed for testing at http://gitbuilder.sepia.ceph.com/gitbuilder-ceph-tarball-trusty-amd64-cmake/#origin/wip-fix-cmake, and it's green. |
@tchaikov good catch! @alimaredia those two changes are no longer needed after this fix |
@@ -76,8 +76,7 @@ else() | |||
endif() | |||
|
|||
|
|||
set(EXTRALIBS uuid rt dl | |||
${Boost_LIBRARIES} ${Boost_SYSTEM_LIBRARY} ${ATOMIC_OPS_LIBRARIES}) | |||
set(EXTRALIBS uuid rt dl ${Boost_LIBS} ${ATOMIC_OPS_LIBRARIES}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tchaikov ${Boost_LIBS} neither in /usr/share/cmake/modules/FindBoost.cmake nor anywhere else in the source tree. It should be changed to ${Boost_LIBRARIES}
This reverts commit 21438a6. Signed-off-by: Kefu Chai <kchai@redhat.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
graylog uses boost/asio.hpp which introduces the link-time dependency on libboost_system to the compilation units which includes Log.h and LogClient.h. so it appears that perfglue/heap_profiler.cc is referencing libboost_system.so, and fails the cmake build of all tests which links against tcmalloc. in this change, we: * remove unnecessary #includes from Graylog.h * forward declare Graylog class, so that "Graylog.h" is not included in any header files to avoid the link-time dependency pollution Signed-off-by: Kefu Chai <kchai@redhat.com>
* and remove ${Boost_SYSTEM_LIBRARY} from test_rados_api_tier Signed-off-by: Kefu Chai <kchai@redhat.com>
514e7d6
to
075e595
Compare
@alimaredia could you take a look again? I just removed |
cmake: fix the build of tests
perfglue/heap_profiler.cc is referncing boost-system somehow, and
this file is compiled when we are using tcmalloc, so added it to
ALLOC_LIBS along with tcmalloc.
Signed-off-by: Kefu Chai kchai@redhat.com