[ros] 01/01: Add patch for ld -l:/path/lib

Jochen Sprickerhof jspricke-guest at moszumanska.debian.org
Fri Aug 28 12:33:32 UTC 2015


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

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

commit 5611ccc5676fc9efa3ce8b0fab56fd14eb7a3db8
Author: Jochen Sprickerhof <git at jochen.sprickerhof.de>
Date:   Fri Aug 28 14:30:40 2015 +0200

    Add patch for ld -l:/path/lib
    
    taken from https://github.com/ros/catkin/issues/694
---
 ...kin-694-by-modifying-rosbuild-to-strip-le.patch | 39 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 2 files changed, 40 insertions(+)

diff --git a/debian/patches/0004-Fix-ros-catkin-694-by-modifying-rosbuild-to-strip-le.patch b/debian/patches/0004-Fix-ros-catkin-694-by-modifying-rosbuild-to-strip-le.patch
new file mode 100644
index 0000000..2371b41
--- /dev/null
+++ b/debian/patches/0004-Fix-ros-catkin-694-by-modifying-rosbuild-to-strip-le.patch
@@ -0,0 +1,39 @@
+From: Brian Gerkey <gerkey at osrfoundation.org>
+Date: Mon, 13 Jul 2015 18:46:58 -0700
+Subject: Fix ros/catkin#694 by modifying rosbuild to strip leading -l: from
+ libraries.
+
+---
+ 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).
diff --git a/debian/patches/series b/debian/patches/series
index 6da9fa5..1d9f7f2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 0001-Add-CMakeLists.txt.patch
 0002-Add-Debian-specific-SOVERSION.patch
 0003-Fix-env-roscreatepkg.patch
+0004-Fix-ros-catkin-694-by-modifying-rosbuild-to-strip-le.patch

-- 
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