Skip to content
This repository has been archived by the owner on Apr 23, 2020. It is now read-only.

Export map_server libraries #7

Merged
merged 4 commits into from
May 12, 2017
Merged

Export map_server libraries #7

merged 4 commits into from
May 12, 2017

Conversation

dhood
Copy link
Member

@dhood dhood commented May 12, 2017

Without this, when sourcing an isolated build setup file, I don't get map_server/lib on the LD_LIBRARY_PATH (despite map_server being on the AMENT_PREFIX_PATH).

That causes the map_server executable to complain with:

$ map_server
map_server: error while loading shared libraries: libmap_server_image_loader.so: cannot open shared object file: No such file or directory

@dhood dhood added the in review Waiting for review (Kanban column) label May 12, 2017
@dhood dhood self-assigned this May 12, 2017
@@ -94,6 +94,7 @@ if(BUILD_TESTING)
)
endif()

ament_export_libraries(${PROJECT_NAME})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks, I copied it from elsewhere and it 'just worked'. Actually, even if I put ament_export_libraries("garbage") it fixes my issue... I think this is because the checking is deferred to the find_library calls later on, but I am mentioning it in case that seems fishy to you.

Copy link
Member

@wjwwood wjwwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Thanks @dhood, sorry for the hiccup if it cost you some time. I should have caught that.

@@ -94,7 +94,7 @@ if(BUILD_TESTING)
)
endif()

ament_export_libraries(map_server_image_loader)
ament_export_libraries("map_server_image_loader")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't have to be in quotes. Since target names can't contain spaces they are usually written without quotes.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for the explanation!

@dhood
Copy link
Member Author

dhood commented May 12, 2017

no worries @wjwwood, I've come across this before so this time around it was a quick fix

@dhood
Copy link
Member Author

dhood commented May 12, 2017

turtlebot demo CI:

  • Linux Build Status
  • Linux-aarch64 Build Status (issues with the machine: I won't wait on it since above is green)

@dhood dhood merged commit cd515f7 into ros2 May 12, 2017
@dhood dhood deleted the export_map_server_libraries branch May 12, 2017 22:11
@dhood dhood removed the in review Waiting for review (Kanban column) label May 12, 2017
allenh1 pushed a commit that referenced this pull request Aug 1, 2017
* Export libraries

* Use name of library

* ament_export_libraries takes list of strings

* Revert "ament_export_libraries takes list of strings"

This reverts commit 630312b.
allenh1 pushed a commit that referenced this pull request Aug 1, 2017
* Export libraries

* Use name of library

* ament_export_libraries takes list of strings

* Revert "ament_export_libraries takes list of strings"

This reverts commit 630312b.
mikaelarguedas pushed a commit that referenced this pull request May 24, 2018
* remove AMENT_IGNORE and vestigial files

* style fixes, trailing whitespace and typos

* port to ROS 2

* use existing rclcpp syntax for now

fix package.xml (#2)

use updated rclcpp syntax for get_parameter_or (#4)

Export map_server libraries (#7)

* Export libraries

* Use name of library

* ament_export_libraries takes list of strings

* Revert "ament_export_libraries takes list of strings"

This reverts commit 630312b.

Switch use of rcl_system_time_now to rcutils_system_time_now. (#8)

Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>

Port AMCL to ROS 2 (and tf2) (#9)

* Remove dynamic reconfigure

* Remove rosbag functionality

* Remove message filter use

* tf -> tf2

* Strip leading / from frame IDs

* Re-enable message filter

* Don't use deperecated quaternion constructor

* Revert "Re-enable message filter"

This reverts commit c4160c2.

* Fix test failures by increasing transform timeouts

* WIP ros1->ros2

* Namespace of ::msg or ::srv

* ConstPtr -> ::ConstPtr

* ros::Time -> tf2::TimePoint

* ros::Duration -> tf2::Duration

* ros -> rclcpp

* ros2 timer

* Disable sigint handler

* Not using boost::shared_ptr

* Appropriate boost header for recursive_mutex

* Shared ptrs everywhere

* Use new durationFromSec tf2 function

* Subscribers using qos settings

* Leftover missing ::msg

* Use new tf2_ros::fromMsg

* Reinstate node ptr

* Disable most logging

* chrono fix

* 'msg.' -> 'msg->'

* Store node

* Create services properly

* Set parameters

* Comment more logging

* tf2 fixes

* fix service callback signatures

* tf2 changes

* misc

* only callbacks use shared_ptr

* map request service

* Fix boost link error

* Comment these for now just to move forward

* Use ament_auto_package

* tf2::Duration -> tf2::durationFromSec

* Re-enable "logging"

* Prevent node already added to executor crash

* (hack) use 'latest' TF info

* Debug

* Fixup (whitespace etc)

* Use rate for map request

* Don't use tf2 time for checkLaserReceived timer

* Clarify which TODOs are for before merge

* Add wait_for_service

* Restore initial qos choices

* Restore tolerance

* Demo ROS 1 launch file to be used with bridge

* [hack] Use map from topic instead of service

* Remove debug prints

* It probably won't be the map server publishing the map topic in that case (or we'd use the service)

* Expose use_map_topic as command line option

* Put initial pose back to 0 (can be set on 'initialpose' topic)

* Use tf2 time because ROS times can't be subtracted a.t.m.

* Revert test tolerance increase (needed for use without message filters)

* Remove commented delete that will never be re-enabled

* Tidy up workaround for 'latest' TF data

If the timestamp of the requested transform is 0 it will get latest

* Remove most workarounds for 'latest' TF data

* Prevent unused variable warnings

* Remove boost dependency

* Use CMAKE_CXX_STANDARD

* Alphabetical ordering

* Whitespace fixup

* Leftover debug prints

* Restore original default d_thresh

* Revert "Prevent unused variable warnings"

This reverts commit e624b1f.

* Prevent unused variable warnings

* Let ament_cmake_ros have control over the BUILD_SHARED_LIBS cmake flag

* Pedantic is a bit much

* simplify ament_target_dependencies call

* Correct usage of ament_target_dependencies

* Remove custom leading forward slash removal

Not necessary in ROS 2

* Remove ROS 1 testing launch file

* Avoid race condition with map_server topic usage

Issue with large services using fastrtps

use CMAKE_X_STANDARD and check compiler rather than platform

Remove dependency on rostest. (#10)

amcl integration: best effort QoS for laser scan subscription (#11)

* Make laser subscription best effort

Otherwise it can't subscribe to best effort publishers (and is generally more appropriate)

* Use rcutils logging macros

* Start a parameter server for external nodes to interact with

* Reduce diff with upstream

Move map server executables to libexec directory (#12)

use new namespace (#13)

Exporting the map_server include directory (#14)

disable everything for now with AMENT_IGNORE files

ROS 2 port of map_server (#1)

* remove AMENT_IGNORE and vestigial files

* style fixes, trailing whitespace and typos

* port to ROS 2

* use existing rclcpp syntax for now

fix package.xml (#2)

use updated rclcpp syntax for get_parameter_or (#4)

Switch use of rcl_system_time_now to rcutils_system_time_now. (#8)

Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>

Port AMCL to ROS 2 (and tf2) (#9)

* Remove dynamic reconfigure

* Remove rosbag functionality

* Remove message filter use

* tf -> tf2

* Strip leading / from frame IDs

* Re-enable message filter

* Don't use deperecated quaternion constructor

* Revert "Re-enable message filter"

This reverts commit c4160c2.

* Fix test failures by increasing transform timeouts

* WIP ros1->ros2

* Namespace of ::msg or ::srv

* ConstPtr -> ::ConstPtr

* ros::Time -> tf2::TimePoint

* ros::Duration -> tf2::Duration

* ros -> rclcpp

* ros2 timer

* Disable sigint handler

* Not using boost::shared_ptr

* Appropriate boost header for recursive_mutex

* Shared ptrs everywhere

* Use new durationFromSec tf2 function

* Subscribers using qos settings

* Leftover missing ::msg

* Use new tf2_ros::fromMsg

* Reinstate node ptr

* Disable most logging

* chrono fix

* 'msg.' -> 'msg->'

* Store node

* Create services properly

* Set parameters

* Comment more logging

* tf2 fixes

* fix service callback signatures

* tf2 changes

* misc

* only callbacks use shared_ptr

* map request service

* Fix boost link error

* Comment these for now just to move forward

* Use ament_auto_package

* tf2::Duration -> tf2::durationFromSec

* Re-enable "logging"

* Prevent node already added to executor crash

* (hack) use 'latest' TF info

* Debug

* Fixup (whitespace etc)

* Use rate for map request

* Don't use tf2 time for checkLaserReceived timer

* Clarify which TODOs are for before merge

* Add wait_for_service

* Restore initial qos choices

* Restore tolerance

* Demo ROS 1 launch file to be used with bridge

* [hack] Use map from topic instead of service

* Remove debug prints

* It probably won't be the map server publishing the map topic in that case (or we'd use the service)

* Expose use_map_topic as command line option

* Put initial pose back to 0 (can be set on 'initialpose' topic)

* Use tf2 time because ROS times can't be subtracted a.t.m.

* Revert test tolerance increase (needed for use without message filters)

* Remove commented delete that will never be re-enabled

* Tidy up workaround for 'latest' TF data

If the timestamp of the requested transform is 0 it will get latest

* Remove most workarounds for 'latest' TF data

* Prevent unused variable warnings

* Remove boost dependency

* Use CMAKE_CXX_STANDARD

* Alphabetical ordering

* Whitespace fixup

* Leftover debug prints

* Restore original default d_thresh

* Revert "Prevent unused variable warnings"

This reverts commit e624b1f.

* Prevent unused variable warnings

* Let ament_cmake_ros have control over the BUILD_SHARED_LIBS cmake flag

* Pedantic is a bit much

* simplify ament_target_dependencies call

* Correct usage of ament_target_dependencies

* Remove custom leading forward slash removal

Not necessary in ROS 2

* Remove ROS 1 testing launch file

* Avoid race condition with map_server topic usage

Issue with large services using fastrtps

use CMAKE_X_STANDARD and check compiler rather than platform

Remove dependency on rostest. (#10)

amcl integration: best effort QoS for laser scan subscription (#11)

* Make laser subscription best effort

Otherwise it can't subscribe to best effort publishers (and is generally more appropriate)

* Use rcutils logging macros

* Start a parameter server for external nodes to interact with

* Reduce diff with upstream

Move map server executables to libexec directory (#12)

use new namespace (#13)

Exporting the map_server include directory (#14)

Fixed GCC 8.0 compiler warning.

Fix compilation, as well as remove more warnings.

Fix GCC 8 warnings for map_server.

Add rcutils debug macros to map_server. (#18)

* Add rcutils debug macros to map_server.

* Addresses comments by @wjwwood

* Updated package.xml and CMakeLists.txt to add rcutils dependency.

* Remove ';' from the ends of macro calls.

* Address comments by @mikaelarguedas

Remove extra newline (#19)

use ament_cmake_pytest instead of ament_cmake_nose (#22)

Make amcl compile again with the recent changes to rclcpp::Time. (#23)

* Make amcl compile again with the recent changes to rclcpp::Time.

Signed-off-by: Chris Lalancette <clalancette@osrfoundation.org>

* Initialize the timesource and clock in the AmclNode constructor.

Then just call "clock->now()" where we need it.

Signed-off-by: Chris Lalancette <clalancette@osrfoundation.org>

* Remove rclcpp_now completely.

Signed-off-by: Chris Lalancette <clalancette@osrfoundation.org>

* Fix to not pass node to clock->now

Signed-off-by: Chris Lalancette <clalancette@osrfoundation.org>

* Change ts -> timesource.

Signed-off-by: Chris Lalancette <clalancette@osrfoundation.org>

looks like logging is initialized automatically now, fixes warning (#24)

Update for rclcpp namespace removals (#25)

* Remove client:: namespace

* Remove service:: namespace

* Remove parameter_service:: namespace

* Remove rate:: namespace

* Remove node:: namespace

Update maintainers and version ahead of Ardent release (#26)

* Update maintainers and version ahead of Ardent release

* Prev maintainers -> authors

* Level all versions so bloom doesn't complain
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants