Build on pandaboard (long report)

53 views
Skip to first unread message

Claudio Carbone

unread,
Feb 4, 2013, 10:42:15 AM2/4/13
to ros-s...@googlegroups.com
I've been trying to build Groovy from sources, but encountered so many stepbacks I reverted to Fuerte.

Now Fuerte mobile variant builds.
So far I have built the following packages:

actionlib /opt/ros/fuerte/share/actionlib
actionlib_msgs /opt/ros/fuerte/share/actionlib_msgs
amcl /opt/ros/fuerte/stacks/navigation/amcl
angles /opt/ros/fuerte/stacks/geometry/angles
base_local_planner /opt/ros/fuerte/stacks/navigation/base_local_planner
beginner_tutorials /home/panda/ROS_WORKSPACE/beginner_tutorials
bfl /opt/ros/fuerte/stacks/bfl
bond /opt/ros/fuerte/stacks/bond_core/bond
bondcpp /opt/ros/fuerte/stacks/bond_core/bondcpp
bondpy /opt/ros/fuerte/stacks/bond_core/bondpy
bullet /opt/ros/fuerte/stacks/bullet
camera_calibration_parsers /home/panda/ROS_WORKSPACE/image/camera_calibration_parsers
camera_info_manager /home/panda/ROS_WORKSPACE/image/camera_info_manager
carrot_planner /opt/ros/fuerte/stacks/navigation/carrot_planner
clear_costmap_recovery /opt/ros/fuerte/stacks/navigation/clear_costmap_recovery
collada_parser /opt/ros/fuerte/stacks/robot_model/collada_parser
collada_urdf /opt/ros/fuerte/stacks/robot_model/collada_urdf
colladadom /opt/ros/fuerte/stacks/robot_model/colladadom
common_rosdeps /opt/ros/fuerte/stacks/common_rosdeps
convex_decomposition /opt/ros/fuerte/stacks/robot_model/convex_decomposition
costmap_2d /opt/ros/fuerte/stacks/navigation/costmap_2d
cpp_common /opt/ros/fuerte/share/cpp_common
diagnostic_aggregator /opt/ros/fuerte/stacks/diagnostics/diagnostic_aggregator
diagnostic_analysis /opt/ros/fuerte/stacks/diagnostics/diagnostic_analysis
diagnostic_msgs /opt/ros/fuerte/share/diagnostic_msgs
diagnostic_updater /opt/ros/fuerte/stacks/diagnostics/diagnostic_updater
driver_base /opt/ros/fuerte/stacks/driver_common/driver_base
dwa_local_planner /opt/ros/fuerte/stacks/navigation/dwa_local_planner
dynamic_reconfigure /opt/ros/fuerte/stacks/dynamic_reconfigure
eigen_conversions /opt/ros/fuerte/stacks/geometry/eigen_conversions
fake_localization /opt/ros/fuerte/stacks/navigation/fake_localization
filters /opt/ros/fuerte/stacks/filters
geometry_msgs /opt/ros/fuerte/share/geometry_msgs
gmapping /opt/ros/fuerte/stacks/slam_gmapping/gmapping
hokuyo_node /opt/ros/fuerte/stacks/hokuyo_node
image_transport /home/panda/ROS_WORKSPACE/image/image_transport
ivcon /opt/ros/fuerte/stacks/robot_model/ivcon
kdl /opt/ros/fuerte/stacks/orocos_kinematics_dynamics/kdl
kdl_parser /opt/ros/fuerte/stacks/robot_model/kdl_parser
laser_assembler /opt/ros/fuerte/stacks/laser_pipeline/laser_assembler
laser_filters /opt/ros/fuerte/stacks/laser_pipeline/laser_filters
laser_geometry /opt/ros/fuerte/stacks/laser_pipeline/laser_geometry
learning_image_transport /home/panda/ROS_WORKSPACE/learning_image_transport
map_server /opt/ros/fuerte/stacks/navigation/map_server
message_filters /opt/ros/fuerte/share/message_filters
mk /opt/ros/fuerte/share/ros/core/mk
move_base /opt/ros/fuerte/stacks/navigation/move_base
move_base_msgs /opt/ros/fuerte/stacks/navigation/move_base_msgs
move_slow_and_clear /opt/ros/fuerte/stacks/navigation/move_slow_and_clear
nav_core /opt/ros/fuerte/stacks/navigation/nav_core
nav_msgs /opt/ros/fuerte/share/nav_msgs
navfn /opt/ros/fuerte/stacks/navigation/navfn
nodelet /opt/ros/fuerte/stacks/nodelet_core/nodelet
nodelet_topic_tools /opt/ros/fuerte/stacks/nodelet_core/nodelet_topic_tools
orocos_kdl /opt/ros/fuerte/stacks/orocos_kinematics_dynamics/orocos_kdl
pcl_ros /opt/ros/fuerte/stacks/perception_pcl/pcl_ros
perf_roscpp /opt/ros/fuerte/share/perf_roscpp
pluginlib /opt/ros/fuerte/stacks/pluginlib
polled_camera /home/panda/ROS_WORKSPACE/image/polled_camera
python_orocos_kdl /opt/ros/fuerte/stacks/orocos_kinematics_dynamics/python_orocos_kdl
resource_retriever /opt/ros/fuerte/stacks/robot_model/resource_retriever
robot_pose_ekf /opt/ros/fuerte/stacks/navigation/robot_pose_ekf
robot_state_publisher /opt/ros/fuerte/stacks/robot_model/robot_state_publisher
rosbag /opt/ros/fuerte/share/rosbag
rosbash /opt/ros/fuerte/share/rosbash
rosboost_cfg /opt/ros/fuerte/share/rosboost_cfg
rosbuild /opt/ros/fuerte/share/ros/core/rosbuild
rosclean /opt/ros/fuerte/share/rosclean
rosconsole /opt/ros/fuerte/share/rosconsole
roscpp /opt/ros/fuerte/share/roscpp
roscpp_serialization /opt/ros/fuerte/share/roscpp_serialization
roscpp_traits /opt/ros/fuerte/share/roscpp_traits
roscreate /opt/ros/fuerte/share/roscreate
rosgraph /opt/ros/fuerte/share/rosgraph
rosgraph_msgs /opt/ros/fuerte/share/rosgraph_msgs
roslang /opt/ros/fuerte/share/roslang
roslaunch /opt/ros/fuerte/share/roslaunch
roslib /opt/ros/fuerte/share/roslib
roslisp /opt/ros/fuerte/share/roslisp
rosmake /opt/ros/fuerte/share/rosmake
rosmaster /opt/ros/fuerte/share/rosmaster
rosmsg /opt/ros/fuerte/share/rosmsg
rosnode /opt/ros/fuerte/share/rosnode
rosout /opt/ros/fuerte/share/rosout
rospack /opt/ros/fuerte/share/rospack
rosparam /opt/ros/fuerte/share/rosparam
rospy /opt/ros/fuerte/share/rospy
rosservice /opt/ros/fuerte/share/rosservice
rostest /opt/ros/fuerte/share/rostest
rostime /opt/ros/fuerte/share/rostime
rostopic /opt/ros/fuerte/share/rostopic
rosunit /opt/ros/fuerte/share/rosunit
roswtf /opt/ros/fuerte/share/roswtf
rotate_recovery /opt/ros/fuerte/stacks/navigation/rotate_recovery
self_test /opt/ros/fuerte/stacks/diagnostics/self_test
sensor_msgs /opt/ros/fuerte/share/sensor_msgs
shape_msgs /opt/ros/fuerte/share/shape_msgs
sicktoolbox /opt/ros/fuerte/stacks/sicktoolbox
sicktoolbox_wrapper /opt/ros/fuerte/stacks/sicktoolbox_wrapper
simmechanics_to_urdf /opt/ros/fuerte/stacks/robot_model/simmechanics_to_urdf
smach /opt/ros/fuerte/stacks/executive_smach/smach
smach_msgs /opt/ros/fuerte/stacks/executive_smach/smach_msgs
smach_ros /opt/ros/fuerte/stacks/executive_smach/smach_ros
smclib /opt/ros/fuerte/stacks/bond_core/smclib
srdf /opt/ros/fuerte/stacks/robot_model/srdf
std_msgs /opt/ros/fuerte/share/std_msgs
std_srvs /opt/ros/fuerte/share/std_srvs
stereo_msgs /opt/ros/fuerte/share/stereo_msgs
test_bond /opt/ros/fuerte/stacks/bond_core/test_bond
test_crosspackage /opt/ros/fuerte/share/test_crosspackage
test_diagnostic_aggregator /opt/ros/fuerte/stacks/diagnostics/test_diagnostic_aggregator
test_nodelet /opt/ros/fuerte/stacks/nodelet_core/test_nodelet
test_ros /opt/ros/fuerte/share/test_ros
test_rosbag /opt/ros/fuerte/share/test_rosbag
test_roscpp /opt/ros/fuerte/share/test_roscpp
test_roscpp_serialization /opt/ros/fuerte/share/test_roscpp_serialization
test_roscpp_serialization_perf /opt/ros/fuerte/share/test_roscpp_serialization_perf
test_roslib_comm /opt/ros/fuerte/share/test_roslib_comm
test_rospy /opt/ros/fuerte/share/test_rospy
test_rosservice /opt/ros/fuerte/share/test_rosservice
test_rostime /opt/ros/fuerte/share/test_rostime
tf /opt/ros/fuerte/stacks/geometry/tf
tf_conversions /opt/ros/fuerte/stacks/geometry/tf_conversions
timestamp_tools /opt/ros/fuerte/stacks/driver_common/timestamp_tools
topic_tools /opt/ros/fuerte/share/topic_tools
trajectory_msgs /opt/ros/fuerte/share/trajectory_msgs
urdf /opt/ros/fuerte/stacks/robot_model/urdf
urdf_interface /opt/ros/fuerte/stacks/robot_model/urdf_interface
urdf_parser /opt/ros/fuerte/stacks/robot_model/urdf_parser
visualization_msgs /opt/ros/fuerte/share/visualization_msgs
voxel_grid /opt/ros/fuerte/stacks/navigation/voxel_grid
xacro /opt/ros/fuerte/stacks/xacro
xmlrpcpp /opt/ros/fuerte/share/xmlrpcpp


Now I'm trying image_common, but I needed yaml-cpp.
So I downloaded and built v0.5.0 but I get lots and lots of errors in the sources.
Guess 0.5.0 is not the right version, so try with 0.3.0.
Now I get
Linking CXX shared library ../lib/libcamera_calibration_parsers.so
/usr/bin/ld: /usr/local/lib/libyaml-cpp.a(emitter.cpp.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libyaml-cpp.a: could not read symbols: Bad value

Anybody got the image stack to build on arm?
I tried making with -fPIC but I think I get it wrong where I have to put it.
#=============================================================================
# Target rules for targets named camera_calibration_parsers

# Build rule for target.
camera_calibration_parsers: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 camera_calibration_parsers
.PHONY : camera_calibration_parsers

# fast build rule for target.
camera_calibration_parsers/fast:
        $(MAKE) -f CMakeFiles/camera_calibration_parsers.dir/build.make CMakeFiles/camera_calibration_parsers.dir/build
.PHONY : camera_calibration_parsers/fast

Thanks
Claudio

Kai Franke

unread,
Feb 4, 2013, 12:14:06 PM2/4/13
to ros-s...@googlegroups.com
They changed the API for yaml-cpp. I got it to compile using yaml-cpp 2.7

Kai

Claudio Carbone

unread,
Feb 4, 2013, 5:55:19 PM2/4/13
to ros-s...@googlegroups.com


On Feb 4, 2013 6:14 PM, "Kai Franke" <k...@kaifranke.com> wrote:
>
> They changed the API for yaml-cpp. I got it to compile using yaml-cpp 2.7

You mean 0.2.7 Kai?

Claudio

Kai Franke

unread,
Feb 4, 2013, 8:34:00 PM2/4/13
to ros-s...@googlegroups.com
Correct, you will also need to build a shared library. Try this

wget http://yaml-cpp.googlecode.com/files/yaml-cpp-0.2.7.tar.gz
tar -xf yaml-cpp-0.2.7.tar.gz
cd yaml-cpp-0.2.7; cmake -DBUILD_SHARED_LIBS=ON .; make install -j1; cd ..

Kai
Reply all
Reply to author
Forward
0 new messages