ApolloAuto/apollo-platform

Cross compile for Arm 64, link fail while link ros-1.5.1/lib/libroscpp.so

yuan8421 opened this issue · 0 comments

Hi community! I have an issue while link ros-1.5.1/lib/libroscpp.so from ros-indigo-apollo-1.5.1-aarch64.tar.gz.

Host pc running Ubuntu 16.04, g++ version

aarch64-gnu-linux-g++ (GCC) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Target platform is 64 bit ARM, Ubuntu version is 16.04.
I have a simple test code:

#include <../../ros-1.5.1/include/ros/ros.h>
#include <../../ros-1.5.1/include/std_msgs/String.h>
int main(int argc, char** argv) {
  ros::init(argc, argv, "talker");
  ros::NodeHandle n;
  ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter", 1000);
  ros::Rate loop_rate(10);
  int count = 0;
  while (ros::ok()) {
    std_msgs::String msg;
    std::stringstream ss;
    ss << "hello world " << count;
    msg.data = ss.str();
    ROS_INFO("%s", msg.data.c_str());
    chatter_pub.publish(msg);
    ros::spinOnce();
    loop_rate.sleep();
    ++count;
  }
  return 0;
}

While linking libroscpp.so, the error message came out:

CMakeFiles/camera_ros_server.dir/src/main.cpp.o: In function `main':
main.cpp:(.text.startup+0x68): undefined reference to `ros::init(int&, char**, std::string const&, unsigned int)'
main.cpp:(.text.startup+0xbc): undefined reference to `ros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&)'
main.cpp:(.text.startup+0x79c): undefined reference to `ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)'
collect2: error: ld returned 1 exit status
src/camera_ros_server/CMakeFiles/camera_ros_server.dir/build.make:148: recipe for target 'devel/lib/camera_ros_server/camera_ros_server' failed
make[2]: *** [devel/lib/camera_ros_server/camera_ros_server] Error 1
make[2]: Leaving directory '/home/yuan/build'
CMakeFiles/Makefile2:1564: recipe for target 'src/camera_ros_server/CMakeFiles/camera_ros_server.dir/all' failed
make[1]: *** [src/camera_ros_server/CMakeFiles/camera_ros_server.dir/all] Error 2
make[1]: Leaving directory '/home/yuan/build'
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2

However, I use command objdump -TC libroscpp.so to dump symbols.
I run command objdump -TC ros-1.5.1/lib/libroscpp.so | grep -i 'init(', the output is:

0000000000000000      DF *UND*	0000000000000000              MD5::init()
0000000000000000      DF *UND*	0000000000000000              ros::Time::init()
0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4.11 std::ctype<char>::_M_widen_init() const
0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4 std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)
0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4 std::ios_base::Init::Init()
0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4 std::ios_base::Init::~Init()
0000000000137fe0 g    DF .text	0000000000000f8c  Base        ros::file_log::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
0000000000116550 g    DF .text	00000000000003a8  Base        ros::StatisticsLogger::init(boost::shared_ptr<ros::SubscriptionCallbackHelper> const&)
00000000000d6d68 g    DF .text	0000000000000dcc  Base        ros::param::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
00000000000fc7d8 g    DF .text	00000000000003a0  Base        ros::names::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000015d828 g    DF .text	00000000000001e0  Base        ros::init(std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)
00000000000bab20 g    DF .text	00000000000003cc  Base        ros::master::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000015d208 g    DF .text	000000000000061c  Base        ros::init(int&, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)
000000000015c1a8 g    DF .text	0000000000000174  Base        ros::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)
0000000000181758 g    DF .text	0000000000000630  Base        ros::this_node::init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, unsigned int)
00000000000c1390 g    DF .text	00000000000007f8  Base        ros::network::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
00000000001b01c0 g    DF .text	0000000000002378  Base        ros::Participant::init(std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>)

Then I run, objdump -TC /home/yuan/isee_px2/ros-1.5.1/lib/libroscpp.so | grep -i 'NodeHandle'
The output is:

000000000012ee30 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool> > >&) const
000000000012d248 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<float, std::allocator<float> > const&) const
000000000012d4e8 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > > const&) const
00000000000c3188  w   DF .text	0000000000000150  Base        boost::detail::sp_if_not_array<ros::NodeHandle>::type boost::make_shared<ros::NodeHandle, ros::NodeHandle const&>(ros::NodeHandle const&)
000000000012df10 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<int, std::allocator<int> >&) const
000000000012ef10 g    DF .text	000000000000039c  Base        ros::NodeHandle::initRemappings(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000012cd10 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, XmlRpc::XmlRpcValue const&) const
000000000012e070 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&) const
00000000001309f0 g    DF .text	00000000000002e4  Base        ros::NodeHandle::subscribe(ros::SubscribeOptions&)
000000000020fe68  w   DO .data.rel.ro	0000000000000018  Base        typeinfo for boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >
0000000000130248 g    DF .text	00000000000001f0  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&)
000000000012fcc0 g    DF .text	000000000000023c  Base        ros::NodeHandle::NodeHandle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000012eac0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<bool, std::allocator<bool> >&) const
000000000012bc20 g    DF .text	0000000000000124  Base        ros::NodeHandle::resolveName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const
000000000012f828 g    DF .text	0000000000000100  Base        ros::NodeHandle::~NodeHandle()
000000000012c008 g    DF .text	00000000000003f0  Base        ros::NodeHandle::createTimer(ros::Duration, boost::function<void (ros::TimerEvent const&)> const&, bool, bool) const
000000000012b868 g    DF .text	00000000000003b4  Base        ros::NodeHandle::resolveName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, ros::NodeHandle::no_validate) const
000000000012d8e0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, XmlRpc::XmlRpcValue&) const
00000000001b6530  w   DO .rodata	0000000000000052  Base        typeinfo name for boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >
000000000012d398 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<bool, std::allocator<bool> > const&) const
000000000012d990 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const
000000000012ec20 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >&) const
00000000000c2e38  w   DF .text	0000000000000008  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::get_untyped_deleter()
000000000012bd48 g    DF .text	0000000000000238  Base        ros::NodeHandle::remapName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
000000000012c880 g    DF .text	0000000000000490  Base        ros::NodeHandle::shutdown()
000000000012dc50 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool&) const
000000000012da40 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double&) const
000000000012daf0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float&) const
00000000000c2e48  w   DF .text	0000000000000060  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::get_deleter(std::type_info const&)
000000000012dba0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int&) const
00000000000c3188  w   DF .text	0000000000000150  Base        boost::detail::sp_if_not_array<ros::NodeHandle>::type boost::make_shared<ros::NodeHandle, ros::NodeHandle const&>(ros::NodeHandle const&)
0000000000130438 g    DF .text	0000000000000200  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
00000000000fcbc8 g    DF .text	00000000000001d0  Base        ros::topic::waitForMessageImpl(ros::SubscribeOptions&, boost::function<bool ()> const&, ros::NodeHandle&, ros::Duration)
000000000012fcc0 g    DF .text	000000000000023c  Base        ros::NodeHandle::NodeHandle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000012d788 g    DF .text	00000000000000a4  Base        ros::NodeHandle::hasParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
00000000001189f8  w   DF .text	0000000000000800  Base        ros::Publisher ros::NodeHandle::advertise<rosgraph_msgs::TopicStatistics_<std::allocator<void> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, bool)
00000000000c2f30  w   DF .text	0000000000000040  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::~sp_counted_impl_pd()
000000000012f4b0 g    DF .text	0000000000000374  Base        ros::NodeHandle::destruct()
000000000012e120 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >&) const
000000000012ddb0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<double, std::allocator<double> >&) const
000000000012d8d8 g    DF .text	0000000000000008  Base        ros::NodeHandle::getParamNames(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) const
00000000000c2f08  w   DF .text	0000000000000028  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::~sp_counted_impl_pd()
000000000012ce60 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*) const
000000000012e490 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const
000000000012ea10 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<int, std::allocator<int> >&) const
000000000012f2b0 g    DF .text	0000000000000200  Base        ros::NodeHandle::searchParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const
0000000000130638 g    DF .text	00000000000003b4  Base        ros::NodeHandle::advertise(ros::AdvertiseOptions&)
000000000012d830 g    DF .text	00000000000000a4  Base        ros::NodeHandle::deleteParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
000000000012e3e0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, XmlRpc::XmlRpcValue&) const
000000000012d638 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > > const&) const
000000000012bf80 g    DF .text	0000000000000088  Base        ros::NodeHandle::createTimer(ros::TimerOptions&) const
00000000000c2bb8 g    DF .text	000000000000027c  Base        ros::Subscriber::Subscriber(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&, boost::shared_ptr<ros::SubscriptionCallbackHelper> const&)
000000000012ff00 g    DF .text	0000000000000154  Base        ros::NodeHandle::operator=(ros::NodeHandle const&)
000000000012d2f0 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<int, std::allocator<int> > const&) const
00000000000f0bc8 g    DF .text	00000000000002dc  Base        ros::Publisher::Publisher(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&, boost::shared_ptr<ros::SubscriberCallbacks> const&, unsigned int const&)
000000000012de60 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<float, std::allocator<float> >&) const
000000000012e1d0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, float> > >&) const
000000000012dd00 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) const
000000000020fec0  w   DO .data.rel.ro	0000000000000040  Base        vtable for boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >
00000000000e0648 g    DF .text	0000000000000280  Base        ros::ServiceServer::ServiceServer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&)
00000000000f0bc8 g    DF .text	00000000000002dc  Base        ros::Publisher::Publisher(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&, boost::shared_ptr<ros::SubscriberCallbacks> const&, unsigned int const&)
000000000012b860 g    DF .text	0000000000000008  Base        ros::NodeHandle::setCallbackQueue(ros::CallbackQueueInterface*)
000000000012f828 g    DF .text	0000000000000100  Base        ros::NodeHandle::~NodeHandle()
0000000000130058 g    DF .text	00000000000001f0  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
00000000000e0648 g    DF .text	0000000000000280  Base        ros::ServiceServer::ServiceServer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&)
000000000012eb70 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&) const
0000000000130058 g    DF .text	00000000000001f0  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
000000000012cdb8 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
0000000000130cd8 g    DF .text	00000000000002dc  Base        ros::NodeHandle::advertiseService(ros::AdvertiseServiceOptions&)
000000000012e330 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool> > >&) const
0000000000130fb8 g    DF .text	0000000000000298  Base        ros::NodeHandle::serviceClient(ros::ServiceClientOptions&)
000000000012d590 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<c0000000000000000      DF *UND*	0000000000000000              ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)har>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, float> > > const&) const
000000000012ed80 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >&) const
000000000012dfc0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<bool, std::allocator<bool> >&) const
000000000012d050 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const
000000000012cf08 g    DF .text	000000000000009c  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double) const
000000000012cfa8 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) const
000000000012e750 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool&) const
000000000012e540 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double&) const
000000000012e5f0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float&) const
000000000012e6a0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int&) const
000000000012e8b0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<double, std::allocator<double> >&) const
0000000000130438 g    DF .text	0000000000000200  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
000000000012d440 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const
000000000012d6e0 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool> > > const&) const
00000000001b6468  w   DO .rodata	0000000000000033  Base        typeinfo name for boost::detail::sp_ms_deleter<ros::NodeHandle>
000000000012e280 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >&) const
000000000012d1a0 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<double, std::allocator<double> > const&) const
00000000000c2f08  w   DF .text	0000000000000028  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::~sp_counted_impl_pd()
000000000012e800 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) const
000000000012ecd0 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, float, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, float> > >&) const
00000000000c2bb8 g    DF .text	000000000000027c  Base        ros::Subscriber::Subscriber(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::NodeHandle const&, boost::shared_ptr<ros::SubscriptionCallbackHelper> const&)
000000000012c488 g    DF .text	00000000000003f0  Base        ros::NodeHandle::createWallTimer(ros::WallDuration, boost::function<void (ros::WallTimerEvent const&)> const&, bool, bool) const
0000000000130248 g    DF .text	00000000000001f0  Base        ros::NodeHandle::NodeHandle(ros::NodeHandle const&)
000000000012f928 g    DF .text	0000000000000394  Base        ros::NodeHandle::construct(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)
000000000012eee0 g    DF .text	000000000000002c  Base        ros::NodeHandle::ok() const
000000000012c400 g    DF .text	0000000000000088  Base        ros::NodeHandle::createWallTimer(ros::WallTimerOptions&) const
000000000012e960 g    DF .text	00000000000000ac  Base        ros::NodeHandle::getParamCached(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<float, std::allocator<float> >&) const
000000000012d0f8 g    DF .text	00000000000000a4  Base        ros::NodeHandle::setParam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const
00000000000c2f70  w   DF .text	0000000000000038  Base        boost::detail::sp_counted_impl_pd<ros::NodeHandle*, boost::detail::sp_ms_deleter<ros::NodeHandle> >::dispose()

I run command, objdump -TC /home/yuan/isee_px2/ros-1.5.1/lib/libroscpp.so | grep -i 'ros::console::initializeLogLocation('
The output:

0000000000000000      DF *UND*	0000000000000000              ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)