[Pkg-cmake-team] Bug#915148: Bug#915148: cmake: regression in ros-ros-comm build
Brad King
brad.king at kitware.com
Fri Dec 7 12:29:24 GMT 2018
On 12/6/18 4:16 PM, Jochen Sprickerhof wrote:
> after reading up on this, I think this needs fixing in cmake.
>
> So neither adding -lpthread,
> nor adding /usr/lib/x86_64-linux-gnu/libpthread.so
> seems correct to me.
Both are valid ways to link to the pthread library, which is all
the `-pthread` flag does when used to drive linking.
> I will revert the workaround in ros-catkin if you agree.
The patch here:
http://launchpadlibrarian.net/399812910/ros-catkin_0.7.14-7_0.7.14-7ubuntu1.diff.gz
is not a workaround. The input to that logic could contain -lfoo
generated by other means for other libraries. This case just
happened to expose the existing bug in that logic.
Actually looking at the applied fix
https://sources.debian.org/src/ros-catkin/0.7.14-8/cmake/templates/pkgConfig.cmake.in/#L118
that logic may need additional work to handle plain `-pthread`
or other link flags.
> [FindThreads] promotes CMAKE_THREAD_PREFER_PTHREAD to get -pthread
It's THREADS_PREFER_PTHREAD_FLAG for that.
CMake's FindBoost and FindThreads could use some work to use
`-pthread` more completely (perhaps with a policy to use it
by default on appropriate compilers), and there is an issue
related to this here:
https://gitlab.kitware.com/cmake/cmake/issues/18638
However, that does not mean the above change should be reverted.
-Brad
More information about the Pkg-cmake-team
mailing list