Installation of ROS Hydro on Windows XP SP3 32 bit

Overview

This guide is designed for the installation of ROS Hydro on Windows XP SP3 32 Bit and building with MSVC 2010. 
Sometimes ROS has to be installed on old operative systems, such as Windows XP, to have access to robots that are only supported by old drivers. At least, this was my case. 
First, I had a look at this guide and  I went through a well known runtime problem with the WS2_32.dll during the execution of the roscore command (have a look here). A window pops up and gets the error "The procedure entry point inet_ntop could not be located in WS2_32.dll". After some research, I found out that the function inet_ntop, as well as inet_pton, is only available on Windows Vista and later versions (have a look here). Unfortunately, I could find any ready-to-use solution of this problem, therefore I decided to make my own one and I want to share it by the mean of this guide.

Preparation

  • Set up the windows python build tools, which will provide some necessary  instructions such as winros_init_build and winros_make.
  • Install the Windows SDK 7.1
  • Install CMake 2.8.10
  • Install Empy 3.1
  • Install Nose 1.1.2
  • Install Boost Libraries and set the following environment variables and put them into the PATH variable.
    BOOST_ROOT=C:/local/boost_1_57_0
    BOOST_LIBRARYDIR=C:/local/boost_1_57_0/lib32-msvc-10.0
    
  • Extract the Eigen library into the C:/local/Eigen folder, set the following environment variable and put it into the PATH variable.
    EIGEN_ROOT=C:/local/Eigen
    
  • Extract the rosdeps folder into the C:/opt folder
  • Extract the initial workspace into the C:/work_ros/ws, so that the ws folder contains the src folder and the setup.bat file

Build and Install

Open the Command prompt and type
cd C:/work_ros/ws
winros_init_build --track=hydro
# Parse and edit config.cmake to configure build settings
winros_make
winros_make --install

Validation

Open three shells and in the first one type:
call C:/opt/ros/hydro/x86/setup.bat
set ROS_MASTER_URI=http://127.0.0.1:11311
set ROS_ROOT=C:/opt/ros/hydro/x86
set ROS_HOME=C:/work_ros/home
set ROS_PACKAGE_PATH=C:/opt/ros/hydro/x86/share
roscore
In the second one type:
call C:/opt/ros/hydro/x86/setup.bat
set ROS_MASTER_URI=http://127.0.0.1:11311
set ROS_ROOT=C:/opt/ros/hydro/x86
set ROS_HOME=C:/work_ros/home
set ROS_PACKAGE_PATH=C:/opt/ros/hydro/x86/share
roslaunch msvc_runtime talker.launch
In the third one type:
call C:/opt/ros/hydro/x86/setup.bat
set ROS_MASTER_URI=http://127.0.0.1:11311
set ROS_ROOT=C:/opt/ros/hydro/x86
set ROS_HOME=C:/work_ros/home
set ROS_PACKAGE_PATH=C:/opt/ros/hydro/x86/share
roslaunch msvc_runtime listener.launch

I hope this guide helped.
Enjoy!

Comments

Popular Posts