[ros] 04/05: Fix ros/catkin#694 by modifying rosbuild to strip leading -l: from libraries.

Jochen Sprickerhof jspricke-guest at moszumanska.debian.org
Mon Sep 21 08:49:53 UTC 2015


This is an automated email from the git hooks/post-receive script.

jspricke-guest pushed a commit to branch patch-queue/master
in repository ros.

commit 556b815daaf833d6119d260eeb392b0c29ebea21
Author: Brian Gerkey <gerkey at osrfoundation.org>
Date:   Mon Jul 13 18:46:58 2015 -0700

    Fix ros/catkin#694 by modifying rosbuild to strip leading -l: from libraries.
    
    
    Gbp-Pq: Name 0004-Fix-ros-catkin-694-by-modifying-rosbuild-to-strip-le.patch
---
 core/rosbuild/core/rosbuild/public.cmake | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/core/rosbuild/core/rosbuild/public.cmake b/core/rosbuild/core/rosbuild/public.cmake
index 1ea805a..6d56183 100644
--- a/core/rosbuild/core/rosbuild/public.cmake
+++ b/core/rosbuild/core/rosbuild/public.cmake
@@ -258,6 +258,25 @@ macro(rosbuild_init)
       list(REVERSE ${_prefix}_LIBRARIES)
     endif()
 
+    # Strip the leading ':' from any library that was given to us as
+    # ':/path/to/lib'.  Those kinds of libraries generally come from
+    # catkin-generated .pc files that are parsed by rospack via pkg-config.
+    # Newer versions of ld (and gold) don't accept the '-l:/path/to/lib'
+    # syntax.  They've long accepted the '/path/to/lib' syntax, so it
+    # should be safe to just strip the ':' here.  We could remove it at
+    # the source, from the .pc file, but the lib argument needs to start
+    # with '-l' to ensure proper ordering of libs in the return from
+    # pkg-config.
+    # https://github.com/ros/catkin/issues/694
+    if(${_prefix}_LIBRARIES)
+      set(_${_prefix}_LIBRARIES ${${_prefix}_LIBRARIES})
+      set(${_prefix}_LIBRARIES "")
+      foreach(_lib ${_${_prefix}_LIBRARIES})
+        string(REGEX REPLACE "^:/" "/" _lib_nocolon ${_lib})
+        list(APPEND ${_prefix}_LIBRARIES ${_lib_nocolon})
+      endforeach(_lib)
+    endif()
+
     # Also throw in the libs that we want to link everything against (only
     # use case for this so far is -lgcov when building with code coverage
     # support).

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ros/ros.git



More information about the debian-science-commits mailing list