Merge pull request #590 from bulwahn/rebased-pull-request-519
support nativesdk (refurnished #519)
This commit is contained in:
commit
8a9faf90c6
|
@ -6,17 +6,29 @@ ROS_USE_PYTHON3 ??= "no"
|
|||
|
||||
inherit cmake ${@'distutils3-base' if bb.utils.to_boolean(d.getVar('ROS_USE_PYTHON3', True)) else 'distutils-base'} ros faulty-solibs
|
||||
|
||||
DEPENDS_prepend = "${@'' if (d.getVar('BPN', True) == 'catkin') or (d.getVar('BPN', True) == 'catkin-runtime') else 'catkin-native '}"
|
||||
# Prepend build dependency on "catkin-runtime" and "catkin-native"
|
||||
# if the package is not "catkin" or "catkin-runtime"
|
||||
DEPENDS =+ "${@'' if d.getVar('BPN', True) in ('catkin', 'catkin-runtime') else 'catkin-runtime catkin-native'}"
|
||||
|
||||
# Prepend run dependency on "catkin-runtime" for base packages
|
||||
# if the package is not "catkin" or "catkin-runtime"
|
||||
RDEPENDS_${PN} =+ "${@'' if d.getVar('BPN', True) in ('catkin', 'catkin-runtime') else 'catkin-runtime'}"
|
||||
|
||||
# Prepend run dependency on "catkin" for dev packages
|
||||
# if the package is not "catkin" or "catkin-runtime"
|
||||
RDEPENDS_${PN}-dev =+ "${@'' if d.getVar('BPN', True) in ('catkin', 'catkin-runtime') else 'catkin'}"
|
||||
|
||||
EXTRA_OECMAKE_CATKIN = "\
|
||||
-DCMAKE_PREFIX_PATH='${STAGING_DIR_HOST}${ros_prefix};${STAGING_DIR_HOST}${prefix};${STAGING_DIR_NATIVE}${ros_prefix};${STAGING_DIR_NATIVE}${prefix}' \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH='${ros_prefix}' \
|
||||
-DCATKIN_DEVEL_PREFIX='${WORKDIR}/devel' \
|
||||
"
|
||||
|
||||
EXTRA_OECMAKE_CATKIN_class-native = "\
|
||||
-DCMAKE_PREFIX_PATH='${ros_prefix}' \
|
||||
-DCMAKE_PREFIX_PATH='${STAGING_DIR_NATIVE}${ros_prefix}' \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH='${ros_prefix}' \
|
||||
-DRT_LIBRARY=${libdir_native} \
|
||||
-DCATKIN_DEVEL_PREFIX='${WORKDIR}/devel' \
|
||||
"
|
||||
|
||||
EXTRA_OECMAKE_prepend = "\
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
DESCRIPTION = "Image for testing meta-ros' SDK feature"
|
||||
|
||||
IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL}"
|
||||
|
||||
inherit core-image
|
||||
|
||||
IMAGE_ROOTFS_SIZE = "8192"
|
||||
|
||||
IMAGE_INSTALL += "sshd roslaunch rostopic roscpp-dev std-msgs-dev"
|
||||
|
||||
TOOLCHAIN_HOST_TASK += "nativesdk-cmake nativesdk-catkin"
|
|
@ -0,0 +1 @@
|
|||
FILES_${PN}-dev_class-nativesdk = ""
|
|
@ -9,4 +9,7 @@ SRC_URI[sha256sum] = "d4d069eaeb29d6a9ee71773b20c41515b6e0feb9ea2765ebaf3e599d0c
|
|||
|
||||
inherit pypi
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
RDEPENDS_${PN} = "${PYTHON_PN}-unixadmin"
|
||||
RDEPENDS_${PN}_class-native = ""
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
|
|
@ -10,4 +10,4 @@ SRC_URI[sha256sum] = "99f016af2770c48ab57a65df7aae251360dc69a1514c15851458a71d4d
|
|||
|
||||
S = "${WORKDIR}/${SRCNAME}-${PV}"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
|
|
@ -11,6 +11,10 @@ do_install_append() {
|
|||
# remove sysroot library path from pkgconfig files
|
||||
sed -i -e 's#${STAGING_INCDIR}#${includedir}#g' \
|
||||
${D}${libdir}/pkgconfig/*.pc
|
||||
|
||||
# remove sysroot library path from cmake config files
|
||||
sed -i -e 's#${STAGING_DIR_TARGET}##g' \
|
||||
${D}${datadir}/orocos_kdl/*.cmake
|
||||
}
|
||||
|
||||
FILES_${PN}-dev += "${datadir}/orocos_kdl/*"
|
||||
|
|
|
@ -15,3 +15,9 @@ inherit cmake
|
|||
|
||||
# CXXFLAGS are needed to compile eigen 3.3.1 headers properly
|
||||
CXXFLAGS += "-Wno-deprecated-declarations -Wno-misleading-indentation -Wno-int-in-bool-context -Wno-ignored-attributes"
|
||||
|
||||
do_install_append() {
|
||||
# remove sysroot library path from cmake config files
|
||||
sed -i -e 's#${STAGING_DIR_TARGET}##g' \
|
||||
${D}${datadir}/sophus/*.cmake
|
||||
}
|
||||
|
|
|
@ -11,13 +11,14 @@ S = "${WORKDIR}/catkin-${PV}"
|
|||
# This package includes ONLY the python packages AND catkin_find
|
||||
# The catkin_${PV} package includes all other files
|
||||
# from the catkin tool.
|
||||
FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR} ${ros_bindir}/catkin_find"
|
||||
FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR} ${ros_bindir}/catkin_find ${ros_prefix}/.catkin"
|
||||
FILES_${PN}-dev = ""
|
||||
|
||||
RDEPENDS_${PN}_class-native = ""
|
||||
RDEPENDS_${PN} = "\
|
||||
${PYTHON_PN}-catkin-pkg ${PYTHON_PN}-misc ${PYTHON_PN}-multiprocessing \
|
||||
${PYTHON_PN}-shell ${PYTHON_PN}-xml ${PYTHON_PN}-pkgutil \
|
||||
${@'python-argparse python-subprocess' if d.getVar('PYTHON_PN', True) == 'python2' else ''}"
|
||||
${@'python-argparse python-subprocess' if d.getVar('PYTHON_PN', True) == 'python' else ''}"
|
||||
|
||||
# Delete everything but the python packages in order to avoid
|
||||
# that the QA error [installed-vs-shipped] hits on us.
|
||||
|
@ -26,6 +27,27 @@ do_install_append() {
|
|||
rm ${D}${ros_bindir}/catkin_make
|
||||
rm -rf ${D}${ros_datadir}
|
||||
rm -rf ${D}${ros_libdir}/pkgconfig
|
||||
|
||||
# Manually add the marker file
|
||||
touch ${D}${ros_prefix}/.catkin
|
||||
}
|
||||
|
||||
BBCLASSEXTEND += "native"
|
||||
# Append environment hook for SDK
|
||||
do_install_append_class-nativesdk() {
|
||||
mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
|
||||
|
||||
script=${D}${SDKPATHNATIVE}/environment-setup.d/catkin-runtime.sh
|
||||
echo "export ROSDISTRO=${ROSDISTRO}" >> $script
|
||||
echo "export PATH=\$PATH:\${OECORE_NATIVE_SYSROOT}/opt/ros/\${ROSDISTRO}/bin" >> $script
|
||||
echo "export PYTHONPATH=\${OECORE_NATIVE_SYSROOT}/opt/ros/\${ROSDISTRO}/lib/python2.7/site-packages" >> $script
|
||||
echo "export ROS_ROOT=\${OECORE_TARGET_SYSROOT}/opt/ros/\${ROSDISTRO}/share/ros" >> $script
|
||||
echo "export CMAKE_PREFIX_PATH=\${OECORE_TARGET_SYSROOT}/opt/ros/\${ROSDISTRO}:\${OECORE_NATIVE_SYSROOT}/opt/ros/${ROSDISTRO}" >> $script
|
||||
}
|
||||
|
||||
FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}"
|
||||
|
||||
catkin_sysroot_preprocess_append() {
|
||||
install -m 644 -t ${SYSROOT_DESTDIR}${ros_prefix} ${D}${ros_prefix}/.catkin
|
||||
}
|
||||
|
||||
BBCLASSEXTEND += "native nativesdk"
|
||||
|
|
|
@ -10,23 +10,9 @@ SRC_URI[md5sum] = "d58460cc9112812d8c4e6ecf98bbcc85"
|
|||
SRC_URI[sha256sum] = "90a639d67db7f9039487af555e432a5b4b6e339f22892d75d03b823b3f38c947"
|
||||
|
||||
SRC_URI += "\
|
||||
file://0001-CATKIN_WORKSPACES-Don-t-require-.catkin-file.patch \
|
||||
file://0001-use-python-provided-by-environment-instead-of-the-ge.patch \
|
||||
file://0001-avoid-using-host-s-paths-when-cross-compiling.patch \
|
||||
file://0001-relocate-dependency-s-headers-to-current-sysroot.patch \
|
||||
file://0001-allow-proper-cross-compilation-with-catkin.patch \
|
||||
${@'file://0001-python.cmake-look-for-python3-first.patch' if d.getVar('PYTHON_PN', True) == 'python3' else ''} \
|
||||
"
|
||||
|
||||
inherit catkin
|
||||
|
||||
FILES_${PN}-dev += "\
|
||||
${ros_datadir}/eigen/cmake \
|
||||
${ros_datadir}/ros/cmake \
|
||||
${ros_datadir}/.catkin \
|
||||
${ros_prefix}/.catkin \
|
||||
${ros_prefix}/.rosinstall \
|
||||
${ros_prefix}/_setup_util.py \
|
||||
${ros_prefix}/env.sh \
|
||||
${ros_prefix}/setup.* \
|
||||
"
|
||||
|
||||
|
|
|
@ -1,20 +1,40 @@
|
|||
require catkin.inc
|
||||
|
||||
DEPENDS_class-native += "catkin-runtime"
|
||||
SRC_URI += "file://environment.d-catkin.sh"
|
||||
|
||||
RDEPENDS_${PN}_class-native = "${PYTHON_PN}-catkin-pkg"
|
||||
RDEPENDS_${PN} = "cmake make binutils binutils-symlinks gcc gcc-symlinks g++ g++-symlinks \
|
||||
catkin-runtime"
|
||||
DEPENDS_class-native += "catkin-runtime"
|
||||
|
||||
# The files in ${PYTHON_SITEPACKAGES_DIR} and catkin_find are
|
||||
# installed by the catkin-runtime package. Therefore, we remove
|
||||
# them here so that they are not installed.
|
||||
# Moreover: the ${ros_libdir}/python2.7 is empty. We need to
|
||||
# remove it, otherwise the QA error [installed-vs-shipped] will hit on us.
|
||||
FILES_${PN} = "\
|
||||
${ros_bindir}/catkin_*_* \
|
||||
${ros_bindir}/catkin_make \
|
||||
${ros_libdir}/pkgconfig \
|
||||
${ros_datadir} \
|
||||
${ros_sysconfdir} \
|
||||
${ros_stackdir} \
|
||||
"
|
||||
FILES_${PN}-dev = ""
|
||||
|
||||
RDEPENDS_${PN}_class-native = "${PYTHON_PN}-catkin-pkg"
|
||||
RDEPENDS_${PN} = "cmake make binutils binutils-symlinks gcc gcc-symlinks g++ g++-symlinks \
|
||||
catkin-runtime ${PYTHON_PN}-empy"
|
||||
|
||||
do_install_append() {
|
||||
rm ${D}${ros_bindir}/catkin_find
|
||||
rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}
|
||||
rmdir ${D}${ros_libdir}/${PYTHON_DIR}
|
||||
}
|
||||
|
||||
BBCLASSEXTEND += "native"
|
||||
# Append environment hook for SDK
|
||||
do_install_append_class-nativesdk() {
|
||||
mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
|
||||
install -m 644 ${WORKDIR}/environment.d-catkin.sh ${D}${SDKPATHNATIVE}/environment-setup.d/catkin.sh
|
||||
}
|
||||
|
||||
FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}"
|
||||
|
||||
BBCLASSEXTEND += "native nativesdk"
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
From a34e7d9d7f77c123cb8cbf464ead628f97e42fd4 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
|
||||
Date: Wed, 13 Mar 2013 11:49:17 +0100
|
||||
Subject: [PATCH] CATKIN_WORKSPACES: Don't require .catkin file
|
||||
|
||||
Upstream-Status: Inappropriate [only for our setup]
|
||||
|
||||
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
|
||||
---
|
||||
cmake/all.cmake | 8 +++-----
|
||||
cmake/list_insert_in_workspace_order.cmake | 9 ++++-----
|
||||
2 files changed, 7 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/cmake/all.cmake b/cmake/all.cmake
|
||||
index 83da965..a5f9df9 100644
|
||||
--- a/cmake/all.cmake
|
||||
+++ b/cmake/all.cmake
|
||||
@@ -44,11 +44,9 @@ set(CMAKE_PREFIX_PATH_AS_IS ${CMAKE_PREFIX_PATH})
|
||||
# list of unique catkin workspaces based on CMAKE_PREFIX_PATH
|
||||
set(CATKIN_WORKSPACES "")
|
||||
foreach(path ${CMAKE_PREFIX_PATH})
|
||||
- if(EXISTS "${path}/.catkin")
|
||||
- list(FIND CATKIN_WORKSPACES ${path} _index)
|
||||
- if(_index EQUAL -1)
|
||||
- list(APPEND CATKIN_WORKSPACES ${path})
|
||||
- endif()
|
||||
+ list(FIND CATKIN_WORKSPACES ${path} _index)
|
||||
+ if(_index EQUAL -1)
|
||||
+ list(APPEND CATKIN_WORKSPACES ${path})
|
||||
endif()
|
||||
endforeach()
|
||||
if(CATKIN_WORKSPACES)
|
||||
diff --git a/cmake/list_insert_in_workspace_order.cmake b/cmake/list_insert_in_workspace_order.cmake
|
||||
index 57ade4a..46887af 100644
|
||||
--- a/cmake/list_insert_in_workspace_order.cmake
|
||||
+++ b/cmake/list_insert_in_workspace_order.cmake
|
||||
@@ -4,12 +4,11 @@
|
||||
set(CATKIN_ORDERED_SPACES "")
|
||||
foreach(_space ${CATKIN_DEVEL_PREFIX} ${CATKIN_WORKSPACES})
|
||||
list(APPEND CATKIN_ORDERED_SPACES ${_space})
|
||||
- if(NOT EXISTS "${_space}/.catkin")
|
||||
- message(FATAL_ERROR "The path '${_space}' is in CATKIN_WORKSPACES but does not have a .catkin file")
|
||||
+ if(EXISTS "${_space}/.catkin")
|
||||
+ # prepend to existing list of sourcespaces
|
||||
+ file(READ "${_space}/.catkin" _sourcespaces)
|
||||
+ list(APPEND CATKIN_ORDERED_SPACES ${_sourcespaces})
|
||||
endif()
|
||||
- # prepend to existing list of sourcespaces
|
||||
- file(READ "${_space}/.catkin" _sourcespaces)
|
||||
- list(APPEND CATKIN_ORDERED_SPACES ${_sourcespaces})
|
||||
endforeach()
|
||||
|
||||
debug_message(10 "CATKIN_ORDERED_SPACES ${CATKIN_ORDERED_SPACES}")
|
||||
--
|
||||
1.7.0.4
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
From e6179255b99264a51f8733f52d92ca579fbacb61 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Bulwahn <lukas.bulwahn@gmail.com>
|
||||
Date: Sun, 15 Apr 2018 02:11:42 +0200
|
||||
Subject: [PATCH] allow proper cross-compilation with catkin
|
||||
|
||||
The original patch is:
|
||||
|
||||
From: Dominique Hunziker <dominique.hunziker@gmail.com>
|
||||
Date: Fri, 2 Jun 2017 12:12:33 +0200
|
||||
|
||||
I just re-applied it to the current version 0.6.19 and adjusted
|
||||
the context of the patch as reaction to bitbake warning:
|
||||
|
||||
WARNING: catkin-runtime-0.6.19-r0 do_patch:
|
||||
Some of the context lines in patches were ignored. This can lead to incorrectly applied patches.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
|
||||
---
|
||||
cmake/all.cmake | 1 +
|
||||
cmake/catkin_package.cmake | 8 ++++++++
|
||||
cmake/catkin_strip_root_path.cmake | 32 +++++++++++++++++++++++++++++
|
||||
cmake/templates/pkgConfig.cmake.in | 42 ++++++++++++++++++++++++++++++++++----
|
||||
4 files changed, 79 insertions(+), 4 deletions(-)
|
||||
create mode 100644 cmake/catkin_strip_root_path.cmake
|
||||
|
||||
diff --git a/cmake/all.cmake b/cmake/all.cmake
|
||||
index 6910906..e421b76 100644
|
||||
--- a/cmake/all.cmake
|
||||
+++ b/cmake/all.cmake
|
||||
@@ -118,6 +118,7 @@ foreach(filename
|
||||
catkin_metapackage
|
||||
catkin_package
|
||||
catkin_package_xml
|
||||
+ catkin_strip_root_path
|
||||
catkin_workspace
|
||||
debug_message
|
||||
em_expand
|
||||
diff --git a/cmake/catkin_package.cmake b/cmake/catkin_package.cmake
|
||||
index 8ef6c48..d6bc68f 100644
|
||||
--- a/cmake/catkin_package.cmake
|
||||
+++ b/cmake/catkin_package.cmake
|
||||
@@ -432,6 +432,14 @@ function(_catkin_package)
|
||||
# package cmake dir is the folder where the generated pkgConfig.cmake is located
|
||||
set(PKG_CMAKE_DIR "\${${PROJECT_NAME}_DIR}")
|
||||
|
||||
+ if(CMAKE_CROSSCOMPILING)
|
||||
+ catkin_strip_root_path(PROJECT_CMAKE_CONFIG_INCLUDE_DIRS UNIQUE)
|
||||
+ catkin_strip_root_path(PROJECT_PKG_CONFIG_INCLUDE_DIRS UNIQUE)
|
||||
+ catkin_strip_root_path(PKG_CONFIG_LIBRARIES)
|
||||
+ catkin_strip_root_path(PKG_CONFIG_LIBRARIES_WITH_PREFIX)
|
||||
+ catkin_strip_root_path(PKG_CONFIG_LIB_PATHS UNIQUE)
|
||||
+ endif()
|
||||
+
|
||||
if(NOT PROJECT_SKIP_PKG_CONFIG_GENERATION)
|
||||
# ensure that output folder exists
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/installspace)
|
||||
diff --git a/cmake/catkin_strip_root_path.cmake b/cmake/catkin_strip_root_path.cmake
|
||||
new file mode 100644
|
||||
index 0000000..ca5c453
|
||||
--- /dev/null
|
||||
+++ b/cmake/catkin_strip_root_path.cmake
|
||||
@@ -0,0 +1,32 @@
|
||||
+#
|
||||
+# Strip CMAKE_FIND_ROOT_PATH prefixes from each path in the list ``var``.
|
||||
+#
|
||||
+# .. note:: Used for cross-compilation.
|
||||
+#
|
||||
+# :param var: the input / output variable name
|
||||
+# :type var: string
|
||||
+# :param UNIQUE: if specified the stripped list will contain unique paths, i.e.,
|
||||
+# duplicate paths are not appended a second time
|
||||
+# :type UNIQUE: option
|
||||
+#
|
||||
+function(catkin_strip_root_path var)
|
||||
+ cmake_parse_arguments(ARG "UNIQUE" "" "" ${ARGN})
|
||||
+ set(output)
|
||||
+ foreach(element ${${var}})
|
||||
+ if(IS_ABSOLUTE ${element})
|
||||
+ foreach(root_path ${CMAKE_FIND_ROOT_PATH})
|
||||
+ if(element MATCHES "^${root_path}/")
|
||||
+ string(LENGTH ${root_path} root_path_length)
|
||||
+ string(SUBSTRING ${element} ${root_path_length} -1 element)
|
||||
+ break()
|
||||
+ endif()
|
||||
+ endforeach()
|
||||
+ endif()
|
||||
+ if(ARG_UNIQUE)
|
||||
+ list_append_unique(output ${element})
|
||||
+ else()
|
||||
+ list(APPEND output ${element})
|
||||
+ endif()
|
||||
+ endforeach()
|
||||
+ set(${var} ${output} PARENT_SCOPE)
|
||||
+endfunction()
|
||||
diff --git a/cmake/templates/pkgConfig.cmake.in b/cmake/templates/pkgConfig.cmake.in
|
||||
index d99b811..3af5c71 100644
|
||||
--- a/cmake/templates/pkgConfig.cmake.in
|
||||
+++ b/cmake/templates/pkgConfig.cmake.in
|
||||
@@ -78,6 +78,15 @@ else()
|
||||
set(@PROJECT_NAME@_PREFIX ${@PROJECT_NAME@_INSTALL_PREFIX})
|
||||
endif()
|
||||
|
||||
+if(CMAKE_CROSSCOMPILING)
|
||||
+ if("@DEVELSPACE@" STREQUAL "TRUE")
|
||||
+ # can not disable host filesystem altogether; otherwise files in src/devel are no longer found
|
||||
+ set(_find_root_path_both CMAKE_FIND_ROOT_PATH_BOTH)
|
||||
+ else()
|
||||
+ set(_find_root_path_both)
|
||||
+ endif()
|
||||
+endif()
|
||||
+
|
||||
# warn when using a deprecated package
|
||||
if(NOT "@PROJECT_DEPRECATED@" STREQUAL "")
|
||||
set(_msg "WARNING: package '@PROJECT_NAME@' is deprecated")
|
||||
@@ -95,7 +104,19 @@ if(NOT "@PROJECT_CMAKE_CONFIG_INCLUDE_DIRS@ " STREQUAL " ")
|
||||
set(@PROJECT_NAME@_INCLUDE_DIRS "")
|
||||
set(_include_dirs "@PROJECT_CMAKE_CONFIG_INCLUDE_DIRS@")
|
||||
foreach(idir ${_include_dirs})
|
||||
- if(IS_ABSOLUTE ${idir} AND IS_DIRECTORY ${idir})
|
||||
+ if(IS_ABSOLUTE ${idir} AND CMAKE_CROSSCOMPILING)
|
||||
+ get_filename_component(idir_path ${idir} DIRECTORY)
|
||||
+ get_filename_component(idir_name ${idir} NAME)
|
||||
+ set(include_dir_path "include_dir_path-NOTFOUND")
|
||||
+ # use find_path to locate absolute path nested under potential root path
|
||||
+ find_path(include_dir_path ${idir_name}
|
||||
+ PATHS ${idir_path}
|
||||
+ NO_DEFAULT_PATH ${_find_root_path_both})
|
||||
+ if(NOT include_dir_path)
|
||||
+ message(FATAL_ERROR "Project '@PROJECT_NAME@' specifies '${idir}' as an include dir, which is not found. It does not exist in any of the root filesystems. Ask the maintainer '@PROJECT_MAINTAINER@' to fix it.")
|
||||
+ endif()
|
||||
+ set(include "${include_dir_path}/${idir_name}")
|
||||
+ elseif(IS_ABSOLUTE ${idir} AND IS_DIRECTORY ${idir})
|
||||
set(include ${idir})
|
||||
elseif("${idir} " STREQUAL "@CATKIN_GLOBAL_INCLUDE_DESTINATION@ ")
|
||||
get_filename_component(include "${@PROJECT_NAME@_DIR}/../../../@CATKIN_GLOBAL_INCLUDE_DESTINATION@" ABSOLUTE)
|
||||
@@ -116,18 +137,31 @@ foreach(library ${libraries})
|
||||
list(APPEND @PROJECT_NAME@_LIBRARIES ${library})
|
||||
elseif(TARGET ${library})
|
||||
list(APPEND @PROJECT_NAME@_LIBRARIES ${library})
|
||||
+ elseif(IS_ABSOLUTE ${library} AND CMAKE_CROSSCOMPILING)
|
||||
+ get_filename_component(lib_path ${library} DIRECTORY)
|
||||
+ get_filename_component(lib_name ${library} NAME)
|
||||
+ set(lib "lib-NOTFOUND")
|
||||
+ # use find_library to locate library given by absolute path nested under potential root path
|
||||
+ find_library(lib ${lib_name}
|
||||
+ PATHS ${lib_path}
|
||||
+ NO_DEFAULT_PATH ${_find_root_path_both})
|
||||
+ if(NOT lib)
|
||||
+ message(FATAL_ERROR "Project '${PROJECT_NAME}' tried to find library '${library}'. The library is neither a target nor built/installed properly. Did you compile project '@PROJECT_NAME@'? Did you find_package() it before the subdirectory containing its code is included?")
|
||||
+ endif()
|
||||
+ _list_append_unique(@PROJECT_NAME@_LIBRARY_DIRS ${lib_path})
|
||||
+ list(APPEND @PROJECT_NAME@_LIBRARIES ${lib})
|
||||
elseif(IS_ABSOLUTE ${library})
|
||||
list(APPEND @PROJECT_NAME@_LIBRARIES ${library})
|
||||
else()
|
||||
set(lib_path "")
|
||||
- set(lib "${library}-NOTFOUND")
|
||||
+ set(lib "lib-NOTFOUND")
|
||||
# since the path where the library is found is returned we have to iterate over the paths manually
|
||||
foreach(path @PKG_CONFIG_LIB_PATHS@)
|
||||
find_library(lib ${library}
|
||||
PATHS ${path}
|
||||
- NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
|
||||
+ NO_DEFAULT_PATH ${_find_root_path_both})
|
||||
if(lib)
|
||||
- set(lib_path ${path})
|
||||
+ get_filename_component(lib_path ${lib} DIRECTORY)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
From 1aa4eeea5b693e67f41e59cf1b0019f45d3a8976 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
|
||||
Date: Mon, 6 Feb 2017 16:15:16 +0200
|
||||
Subject: [PATCH 1/2] avoid using host's paths when cross-compiling
|
||||
|
||||
This patch makes catkin to look for libraries only under Yocto's
|
||||
sysroots and if a library is found the actual directory is used
|
||||
for that library. Not the one that was provided to CMake's
|
||||
find_library() command.
|
||||
|
||||
For better insights please refer to this WONTFIX'ed issue
|
||||
https://github.com/ros/catkin/issues/379
|
||||
|
||||
Upstream-Status: Inappropriate [suitable for Yocto only]
|
||||
|
||||
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
|
||||
|
||||
---
|
||||
cmake/catkin_package.cmake | 10 ++++++++--
|
||||
cmake/templates/pkgConfig.cmake.in | 4 ++--
|
||||
2 files changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/cmake/catkin_package.cmake b/cmake/catkin_package.cmake
|
||||
index 7d56edf..71f700f 100644
|
||||
--- a/cmake/catkin_package.cmake
|
||||
+++ b/cmake/catkin_package.cmake
|
||||
@@ -104,6 +104,9 @@ function(_catkin_package)
|
||||
message(FATAL_ERROR "catkin_package() called with unused arguments: ${PROJECT_UNPARSED_ARGUMENTS}")
|
||||
endif()
|
||||
|
||||
+ # cmake.bbclass always sets $STAGING_DIR as the first value of CMAKE_FIND_ROOT_PATH
|
||||
+ list(GET CMAKE_FIND_ROOT_PATH 0 ROOT_PATH)
|
||||
+
|
||||
if(NOT ${PROJECT_NAME} STREQUAL "catkin")
|
||||
list(FIND ${PROJECT_NAME}_BUILDTOOL_DEPENDS "catkin" _index)
|
||||
if(_index EQUAL -1)
|
||||
@@ -231,7 +234,8 @@ function(_catkin_package)
|
||||
# get library paths from all workspaces
|
||||
set(lib_paths "")
|
||||
foreach(workspace ${CATKIN_WORKSPACES})
|
||||
- list_append_unique(lib_paths ${workspace}/lib)
|
||||
+ string(REPLACE ${ROOT_PATH} "" tweaked_ws ${workspace})
|
||||
+ list_append_unique(lib_paths ${tweaked_ws}/lib)
|
||||
endforeach()
|
||||
|
||||
# merge explicitly listed libraries and libraries from non-catkin but find_package()-ed packages
|
||||
@@ -250,7 +254,9 @@ function(_catkin_package)
|
||||
catkin_pack_libraries_with_build_configuration(_PKG_CONFIG_LIBRARIES ${_PKG_CONFIG_LIBRARIES})
|
||||
set(PKG_CONFIG_LIBRARIES "")
|
||||
foreach(library ${_PKG_CONFIG_LIBRARIES})
|
||||
- list_append_deduplicate(PKG_CONFIG_LIBRARIES ${library})
|
||||
+ string(REPLACE ${ROOT_PATH} "" newlib ${library})
|
||||
+ get_filename_component(newlib ${newlib} NAME)
|
||||
+ list_append_deduplicate(PKG_CONFIG_LIBRARIES ${newlib})
|
||||
endforeach()
|
||||
catkin_unpack_libraries_with_build_configuration(PKG_CONFIG_LIBRARIES ${PKG_CONFIG_LIBRARIES})
|
||||
|
||||
diff --git a/cmake/templates/pkgConfig.cmake.in b/cmake/templates/pkgConfig.cmake.in
|
||||
index d99b811..c692108 100644
|
||||
--- a/cmake/templates/pkgConfig.cmake.in
|
||||
+++ b/cmake/templates/pkgConfig.cmake.in
|
||||
@@ -125,9 +125,9 @@ foreach(library ${libraries})
|
||||
foreach(path @PKG_CONFIG_LIB_PATHS@)
|
||||
find_library(lib ${library}
|
||||
PATHS ${path}
|
||||
- NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
|
||||
+ NO_DEFAULT_PATH ONLY_CMAKE_FIND_ROOT_PATH)
|
||||
if(lib)
|
||||
- set(lib_path ${path})
|
||||
+ get_filename_component(lib_path ${lib} DIRECTORY)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From f58947cf910ec4de1a9f093b4eb1fe68e6cfd602 Mon Sep 17 00:00:00 2001
|
||||
From 64d33f250beaeb375cc1c93226c2b45a746d51c2 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
|
||||
Date: Thu, 27 Apr 2017 11:04:27 +0300
|
||||
Subject: [PATCH] ignore LD_LIBRARY_PATH set in environment_cache.py
|
||||
|
@ -26,6 +26,7 @@ by bitbake.
|
|||
Upstream-Status: Inappropriate [upstream doesn't use bitbake and the change may break on-target development]
|
||||
|
||||
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
|
||||
|
||||
---
|
||||
python/catkin/environment_cache.py | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
@ -43,6 +44,3 @@ index 3defa52..dba2c50 100755
|
|||
+ code.append('export %s="%s"' % (key, value))
|
||||
else:
|
||||
code.append('set %s=%s' % (key, value))
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 224186a1af40cd3b7efb4f0648a3a4ca6ca1e7fa Mon Sep 17 00:00:00 2001
|
||||
From a429081b23223b1d6729da2c9087318bc08a808c Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
|
||||
Date: Thu, 6 Apr 2017 15:25:13 +0300
|
||||
Subject: [PATCH] python.cmake: look for python3 first
|
||||
|
@ -6,6 +6,7 @@ Subject: [PATCH] python.cmake: look for python3 first
|
|||
Upstream-Status: Inappropriate [the patch overrides ROS's default to python2]
|
||||
|
||||
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
|
||||
|
||||
---
|
||||
cmake/python.cmake | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
@ -22,6 +23,3 @@ index 70f3d26..38f8320 100644
|
|||
find_package(PythonInterp REQUIRED)
|
||||
message(STATUS "Using PYTHON_EXECUTABLE: ${PYTHON_EXECUTABLE}")
|
||||
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
|
|
@ -1,80 +0,0 @@
|
|||
From b0ad0d6e6a7872c59180596d29ac5f52723c4317 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
|
||||
Date: Wed, 22 Feb 2017 13:48:37 +0200
|
||||
Subject: [PATCH] relocate dependency's headers to current sysroot
|
||||
|
||||
If a package (A) depends on another package (B) and the package
|
||||
B depends on Boost then it might happen that B produces BConfig.cmake
|
||||
file where absolute paths to Boost's headers are put (because CMake's
|
||||
standard FindBoost.cmake module reports absolute paths). In case of
|
||||
Yocto it means that BConfig.cmake will contain something like
|
||||
/path/to/build/tmp-glibc/work/i586/package_B/0.0.1/recipe-sysroot/usr/include.
|
||||
The path may not exist at the moment when the package A is being built.
|
||||
And that leads to the failure of the check this patch switches off.
|
||||
|
||||
The problem has been reported to catkin's issue tracker:
|
||||
https://github.com/ros/catkin/issues/851
|
||||
|
||||
This patch "relocates" required headers from dependencies' sysroots
|
||||
to the current sysroot by removing sysroot prefix from include dirs
|
||||
in *Config.cmake files at the moment the files get created and
|
||||
by prepending the include dirs again with the current sysroot prefix.
|
||||
|
||||
Upstream-Status: Inappropriate [suitable for Yocto's RSS feature only]
|
||||
|
||||
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
|
||||
|
||||
---
|
||||
cmake/catkin_package.cmake | 5 ++++-
|
||||
cmake/templates/pkgConfig.cmake.in | 10 +++++++---
|
||||
2 files changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/cmake/catkin_package.cmake b/cmake/catkin_package.cmake
|
||||
index 71f700f..818ccd9 100644
|
||||
--- a/cmake/catkin_package.cmake
|
||||
+++ b/cmake/catkin_package.cmake
|
||||
@@ -161,7 +161,10 @@ function(_catkin_package)
|
||||
if(NOT ${${depend_name}_FOUND})
|
||||
message(FATAL_ERROR "catkin_package() DEPENDS on '${depend_name}' which must be find_package()-ed before. If it is a catkin package it can be declared as CATKIN_DEPENDS instead without find_package()-ing it.")
|
||||
endif()
|
||||
- list(APPEND PROJECT_DEPENDENCIES_INCLUDE_DIRS ${${depend_name}_INCLUDE_DIRS})
|
||||
+ foreach(incdir ${${depend_name}_INCLUDE_DIRS})
|
||||
+ string(REPLACE ${ROOT_PATH} "" tweaked_idir ${incdir})
|
||||
+ list_append_deduplicate(PROJECT_DEPENDENCIES_INCLUDE_DIRS ${tweaked_idir})
|
||||
+ endforeach()
|
||||
list(APPEND PROJECT_DEPENDENCIES_LIBRARIES ${${depend_name}_LIBRARIES})
|
||||
endif()
|
||||
endforeach()
|
||||
diff --git a/cmake/templates/pkgConfig.cmake.in b/cmake/templates/pkgConfig.cmake.in
|
||||
index c692108..683ef67 100644
|
||||
--- a/cmake/templates/pkgConfig.cmake.in
|
||||
+++ b/cmake/templates/pkgConfig.cmake.in
|
||||
@@ -94,18 +94,22 @@ set(@PROJECT_NAME@_FOUND_CATKIN_PROJECT TRUE)
|
||||
if(NOT "@PROJECT_CMAKE_CONFIG_INCLUDE_DIRS@ " STREQUAL " ")
|
||||
set(@PROJECT_NAME@_INCLUDE_DIRS "")
|
||||
set(_include_dirs "@PROJECT_CMAKE_CONFIG_INCLUDE_DIRS@")
|
||||
+ list(GET CMAKE_FIND_ROOT_PATH 0 root_path)
|
||||
foreach(idir ${_include_dirs})
|
||||
+ if(IS_ABSOLUTE ${idir} AND NOT "${idir}" MATCHES "^${root_path}.*")
|
||||
+ set(idir "${root_path}${idir}")
|
||||
+ endif()
|
||||
if(IS_ABSOLUTE ${idir} AND IS_DIRECTORY ${idir})
|
||||
- set(include ${idir})
|
||||
+ _list_append_unique(@PROJECT_NAME@_INCLUDE_DIRS ${idir})
|
||||
elseif("${idir} " STREQUAL "@CATKIN_GLOBAL_INCLUDE_DESTINATION@ ")
|
||||
get_filename_component(include "${@PROJECT_NAME@_DIR}/../../../@CATKIN_GLOBAL_INCLUDE_DESTINATION@" ABSOLUTE)
|
||||
if(NOT IS_DIRECTORY ${include})
|
||||
message(FATAL_ERROR "Project '@PROJECT_NAME@' specifies '${idir}' as an include dir, which is not found. It does not exist in '${include}'. Ask the maintainer '@PROJECT_MAINTAINER@' to fix it.")
|
||||
endif()
|
||||
+ _list_append_unique(@PROJECT_NAME@_INCLUDE_DIRS ${include})
|
||||
else()
|
||||
- message(FATAL_ERROR "Project '@PROJECT_NAME@' specifies '${idir}' as an include dir, which is not found. It does neither exist as an absolute directory nor in '@PKG_INCLUDE_PREFIX@/${idir}'. Ask the maintainer '@PROJECT_MAINTAINER@' to fix it.")
|
||||
+ message(WARNING "Project '@PROJECT_NAME@' specifies '${idir}' as an include dir, which is not found. It does neither exist as an absolute directory nor in '@PKG_INCLUDE_PREFIX@/${idir}'. Ask the maintainer '@PROJECT_MAINTAINER@' to fix it.")
|
||||
endif()
|
||||
- _list_append_unique(@PROJECT_NAME@_INCLUDE_DIRS ${include})
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 431739f10027022b6e3d2cd75cffa04c848cd14d Mon Sep 17 00:00:00 2001
|
||||
From 7894487c0d749124c3b0d82fcebff2309a84024a Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Bulwahn <lukas.bulwahn@bmw-carit.de>
|
||||
Date: Tue, 31 May 2016 15:38:05 +0200
|
||||
Subject: [PATCH] use python provided by environment instead of the generated
|
||||
|
@ -13,12 +13,13 @@ bf12b40c2 [1]. We revert this change here to address the issue #384 [2].
|
|||
|
||||
Upstream-Status: Inappropriate [only for our setup]
|
||||
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
|
||||
|
||||
---
|
||||
cmake/templates/_setup_util.py.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cmake/templates/_setup_util.py.in b/cmake/templates/_setup_util.py.in
|
||||
index cace21c..ff2c6b4 100755
|
||||
index 1949c4c..f8807f3 100755
|
||||
--- a/cmake/templates/_setup_util.py.in
|
||||
+++ b/cmake/templates/_setup_util.py.in
|
||||
@@ -1,4 +1,4 @@
|
||||
|
@ -27,6 +28,3 @@ index cace21c..ff2c6b4 100755
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Software License Agreement (BSD License)
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
alias catkin_make=" \
|
||||
catkin_make \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$OECORE_NATIVE_SYSROOT/usr/share/cmake/OEToolchainConfig.cmake \
|
||||
-DSETUPTOOLS_DEB_LAYOUT=OFF \
|
||||
"
|
||||
alias catkin_make_isolated=" \
|
||||
catkin_make_isolated \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$OECORE_NATIVE_SYSROOT/usr/share/cmake/OEToolchainConfig.cmake \
|
||||
-DSETUPTOOLS_DEB_LAYOUT=OFF \
|
||||
"
|
|
@ -0,0 +1,22 @@
|
|||
diff --git a/clients/roscpp/src/libros/callback_queue.cpp b/clients/roscpp/src/libros/callback_queue.cpp
|
||||
index cd2f4f8..fa600d5 100644
|
||||
--- a/clients/roscpp/src/libros/callback_queue.cpp
|
||||
+++ b/clients/roscpp/src/libros/callback_queue.cpp
|
||||
@@ -229,7 +229,7 @@ CallbackQueue::CallOneResult CallbackQueue::callOne(ros::WallDuration timeout)
|
||||
{
|
||||
if (!timeout.isZero())
|
||||
{
|
||||
- condition_.timed_wait(lock, boost::posix_time::microseconds(timeout.toSec() * 1000000.0f));
|
||||
+ condition_.timed_wait(lock, boost::posix_time::microseconds(static_cast<int64_t>(timeout.toSec() * 1000000.0f)));
|
||||
}
|
||||
|
||||
if (callbacks_.empty())
|
||||
@@ -305,7 +305,7 @@ void CallbackQueue::callAvailable(ros::WallDuration timeout)
|
||||
{
|
||||
if (!timeout.isZero())
|
||||
{
|
||||
- condition_.timed_wait(lock, boost::posix_time::microseconds(timeout.toSec() * 1000000.0f));
|
||||
+ condition_.timed_wait(lock, boost::posix_time::microseconds(static_cast<int64_t>(timeout.toSec() * 1000000.0f)));
|
||||
}
|
||||
|
||||
if (callbacks_.empty() || !enabled_)
|
|
@ -10,7 +10,9 @@ DEPENDS = "cpp-common message-generation rosconsole roscpp-serialization roscpp-
|
|||
|
||||
require ros-comm.inc
|
||||
|
||||
SRC_URI += "file://0001-roscpp-add-missing-header-for-writev.patch;striplevel=3"
|
||||
SRC_URI += "\
|
||||
file://0001-roscpp-add-missing-header-for-writev.patch;striplevel=3\
|
||||
file://0001-make-implicit-cast-explicit.patch;striplevel=3"
|
||||
|
||||
ROS_PKG_SUBDIR = "clients"
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ SRC_URI += "file://0001-increase-rosmaster-timeout.patch;patchdir=../.. \
|
|||
ROS_PKG_SUBDIR = "tools"
|
||||
|
||||
RDEPENDS_${PN} = "\
|
||||
${@'python-textutils' if d.getVar('PYTHON_PN', True) == 'python2' else ''} \
|
||||
${@'python-textutils' if d.getVar('PYTHON_PN', True) == 'python' else ''} \
|
||||
${PYTHON_PN}-logging \
|
||||
${PYTHON_PN}-threading \
|
||||
${PYTHON_PN}-rospkg \
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
From 4254977bbfc67a3083e3881a56b50b729bf57d9f Mon Sep 17 00:00:00 2001
|
||||
From: Dominique Hunziker <dominique.hunziker@gmail.com>
|
||||
Date: Fri, 2 Jun 2017 11:57:54 +0200
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
---
|
||||
core/roslib/env-hooks/10.ros.sh.em | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/roslib/env-hooks/10.ros.sh.em b/core/roslib/env-hooks/10.ros.sh.em
|
||||
index caed342..1c64fc4 100644
|
||||
--- a/core/roslib/env-hooks/10.ros.sh.em
|
||||
+++ b/core/roslib/env-hooks/10.ros.sh.em
|
||||
@@ -1,7 +1,7 @@
|
||||
# generated from ros/env-hooks/10.ros.sh.em
|
||||
|
||||
# scrub old ROS bin dirs, to avoid accidentally finding the wrong executables
|
||||
-export PATH="`@(PYTHON_EXECUTABLE) -c \"import os; print(os.pathsep.join([x for x in \\\"$PATH\\\".split(os.pathsep) if not any([d for d in ['cturtle', 'diamondback', 'electric', 'fuerte'] if d in x])]))\"`"
|
||||
+export PATH="`/usr/bin/env python -c \"import os; print(os.pathsep.join([x for x in \\\"$PATH\\\".split(os.pathsep) if not any([d for d in ['cturtle', 'diamondback', 'electric', 'fuerte'] if d in x])]))\"`"
|
||||
|
||||
if [ -n "$ROS_DISTRO" -a "$ROS_DISTRO" != "indigo" ]; then
|
||||
echo "ROS_DISTRO was set to '$ROS_DISTRO' before. Please make sure that the environment does not mix paths from different distributions."
|
||||
@@ -30,7 +30,7 @@ for workspace in workspaces:
|
||||
print(os.pathsep.join(paths))
|
||||
EOF
|
||||
)
|
||||
-export ROS_PACKAGE_PATH="`@(PYTHON_EXECUTABLE) -c \"$PYTHON_CODE_BUILD_ROS_PACKAGE_PATH\"`"
|
||||
+export ROS_PACKAGE_PATH="`/usr/bin/env python -c \"$PYTHON_CODE_BUILD_ROS_PACKAGE_PATH\"`"
|
||||
|
||||
@[if DEVELSPACE]@
|
||||
# env variables in develspace
|
|
@ -9,4 +9,6 @@ require ros.inc
|
|||
|
||||
ROS_PKG_SUBDIR = "core"
|
||||
|
||||
SRC_URI += "file://0001-use-env-to-get-python-exec.patch;striplevel=3"
|
||||
|
||||
RDEPENDS_${PN} = "${PYTHON_PN}-rospkg catkin-runtime"
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
diff --git a/rostime/include/ros/impl/duration.h b/rostime/include/ros/impl/duration.h
|
||||
index 2ca2f5b..7ebd202 100644
|
||||
--- a/rostime/include/ros/impl/duration.h
|
||||
+++ b/rostime/include/ros/impl/duration.h
|
||||
@@ -179,7 +179,7 @@ namespace ros {
|
||||
#if defined(BOOST_DATE_TIME_HAS_NANOSECONDS)
|
||||
return bt::seconds(sec) + bt::nanoseconds(nsec);
|
||||
#else
|
||||
- return bt::seconds(sec) + bt::microseconds(nsec/1000.0);
|
||||
+ return bt::seconds(sec) + bt::microseconds(nsec/1000);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
diff --git a/rostime/include/ros/impl/time.h b/rostime/include/ros/impl/time.h
|
||||
index ec991e6..61b686c 100644
|
||||
--- a/rostime/include/ros/impl/time.h
|
||||
+++ b/rostime/include/ros/impl/time.h
|
||||
@@ -167,7 +167,7 @@ namespace ros
|
||||
#if defined(BOOST_DATE_TIME_HAS_NANOSECONDS)
|
||||
return pt::from_time_t(sec) + pt::nanoseconds(nsec);
|
||||
#else
|
||||
- return pt::from_time_t(sec) + pt::microseconds(nsec/1000.0);
|
||||
+ return pt::from_time_t(sec) + pt::microseconds(nsec/1000);
|
||||
#endif
|
||||
}
|
||||
|
|
@ -6,3 +6,5 @@ LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc
|
|||
DEPENDS = "boost cpp-common"
|
||||
|
||||
require roscpp-core.inc
|
||||
|
||||
SRC_URI += "file://0001-remove-implicit-cast.patch;striplevel=2"
|
||||
|
|
|
@ -14,4 +14,4 @@ SRC_URI[sha256sum] = "a8fecbe03f9757510fe47137642e39a7c31b823d5bf7fa7890acc11691
|
|||
inherit catkin
|
||||
|
||||
RDEPENDS_${PN} = "${PYTHON_PN}-rosdep \
|
||||
${@'python-subprocess' if d.getVar('PYTHON_PN', True) == 'python2' else ''}"
|
||||
${@'python-subprocess' if d.getVar('PYTHON_PN', True) == 'python' else ''}"
|
||||
|
|
Loading…
Reference in New Issue