슬랙웨어 설치 방법

아래 설치 방법은 슬랙웨어 13.1에 대해 검증된 것입니다. 슬랙웨어는 단순한 vanilla-linux 기반 구성과 맞춤형 설계 덕분에 맞춤형 로봇을 구축할 때, ROS와 함께 사용하기 좋은 배포판입니다. 그렇지만, 패키지 관리 시스템이 없어서 최종 사용자 입장에서는 설정해야 할 것들이 많습니다. ROS는 많은 슬랙웨어 시스템들이 보통 포함하지 않고 있는 여러 비표준 패키지들을 필요로 합니다. 아래 설치 방법은 주요 장애물을 넘어갈수 있도록 도와줄 것입니다. 이런 단계들을 거치고 나면 더 이상의 컴파일하지 않아도 실행시 에러 없이 ROS/Tutorials를 따라할 수 있습니다.

SVN 기반 설치(소스 다운로드 및 컴파일)

사전 설치 단계

  • Get super-user access. You will need your system administrator to give you sudo access. If you can login as root yourself you can add sudo access to your account by running:

echo 'your_username ALL=(ALL) ALL' >> /etc/sudoers
  • Install libyaml from source

cd /opt
sudo wget http://pyyaml.org/download/libyaml/yaml-0.1.3.tar.gz 
sudo tar -xzf yaml-0.1.3.tar.gz 
cd ./yaml-0.1.3 && sudo ./configure && sudo make && sudo make install

You can now sudo rm /opt/yaml-0.1.3.tar.gz if you want to.

  • Build and install python-setuptools from source:

cd /opt
sudo wget http://slackbuilds.org/slackbuilds/13.1/development/pysetuptools.tar.gz
sudo tar -xzf pysetuptools.tar.gz
cd pysetuptools
sudo wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
sudo chmod +x pysetuptools.SlackBuild
sudo ./pysetuptools.SlackBuild

The output you see from building should end with something like: Slackware package /tmp/pysetuptools-0.6c11-i486-1_SBo.tgz created. Now create a directory where you will keep your compiled packages, and move this created package there for safekeeping and install it:

sudo mkdir /opt/installed_tgz
sudo mv /tmp/pysetuptools-0.6c11-i486-1_SBo.tgz  /opt/installed_tgz/
sudo /sbin/installpkg /opt/installed_tgz/pysetuptools-0.6c11-i486-1_SBo.tgz

You can now sudo rm -rf /opt/pysetuptools and the tar.gz file if you want to.

  • Build and install logcxx from source:

cd /opt
sudo wget http://www.gtlib.gatech.edu/pub/apache//logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.tar.gz
sudo tar -xzf apache-log4cxx-0.10.0.tar.gz  
cd apache-log4cxx-0.10.0

Unfortunately there are some issues currently between logcxx and the most recent version of gcc that Slackware uses. We will need to modify the logcxx code as follows.

First download the following two patch files to your log4cxx directory and apply them by issuing these commands:

sudo wget https://issues.apache.org/jira/secure/attachment/12439514/exampleFolder_stringInclude.patch --no-check-certificate
sudo wget https://issues.apache.org/jira/secure/attachment/12439513/cppFolder_stringInclude.patch --no-check-certificate
sudo patch -p1 -i cppFolder_stringInclude.patch 
sudo patch -p1 -i exampleFolder_stringInclude.patch 

Now you will need to prepend one line that the makers of log4cxx forgot to include in one of the example header files. Do this with the little trick below, or just use your text editor:

sudo touch console_temp.cpp && sudo chmod 777 console_temp.cpp && echo "#include <stdio.h>" | sudo tac src/examples/cpp/console.cpp - | sudo tac > console_temp.cpp && sudo mv console_temp.cpp src/examples/cpp/console.cpp

Now, finally we can build and install log4cxx:

sudo ./configure --prefix=/usr 
sudo make
sudo make install

You can now rm the .tar.gz file we downloaded if you want to.

  • easyinstall pyyaml

sudo easy_install pyyaml
  • Build and install wxWidgets (Optional). Many of the ROS graphical tools (turtlesim,rviz,gazebo,pr2_dashboard) assume you have a working installation of wxWidgets. In order to compile and use these tools build and install wxWidgets as follows:

cd /opt
sudo wget http://slackbuilds.org/slackbuilds/13.1/libraries/wxPython.tar.gz
sudo tar xvf wxPython.tar.gz 
cd wxPython
sudo wget http://downloads.sourceforge.net/wxpython/wxPython-src-2.8.11.0.tar.bz2
sudo chmod +x wxPython.SlackBuild
sudo ./wxPython.SlackBuild
sudo mv /tmp/wxPython-2.8.11.0-i486-1_SBo.tgz /opt/installed_tgz/
sudo /sbin/installpkg  /opt/installed_tgz/wxPython-2.8.11.0-i486-1_SBo.tgz

You can now sudo rm -rf /opt/wxPython and the .tar.gz file if you want to.

  • Since rosdep cannnot detect the Slackware OS the commands in the section below will fail to detect the os, add a "-n" option to not automatically build. Then you will need to build manually like this, after manually resolving the dependencies.

. ~/ros/setup.sh
rosmake --no-rosdep rostest

rosinstall

다음은 rosinstall이라는 도구를 사용하여 ROS 소스 코드를 다운로드하고, 설치를 준비하는 방법입니다. 이 방법대로 할 경우, ~/ros 디렉토리 아래에 rosinstall 파일에 기술된 각 Stack 별로 하나의 하위 디렉토리를 생성하여 다운로드합니다.

우선 rosinstall 설치:

  • sudo easy_install -U rosinstall

다음은 원하는 C Turtle 설치 범위 선택:

  • ROS만: 기본 ROS와 자습서를 포함합니다.

    • rosinstall ~/ros http://ros.org/rosinstalls/cturtle_ros.rosinstall 

    기본: ROS 및 일반적인 로봇 Stack(예, 주행, 시각화)

    • rosinstall ~/ros http://ros.org/rosinstalls/cturtle_base.rosinstall

    PR2: ROS 및 PR2 전용 Stack. PR2 시뮬레이터 포함됨.

    • rosinstall ~/ros http://ros.org/rosinstalls/cturtle_pr2.rosinstall

    PR2 및 전체: ROS, PR2 전용 Stack, 및 최신 연구/실험적 Stack

    • rosinstall ~/ros http://ros.org/rosinstalls/cturtle_pr2all.rosinstall

주: 위와 같이 설치할 경우, 모든 Stack은 ~/ros 디렉토리에 다운로드됩니다. 다른 곳에 설치하고 싶을 경우, 명령행 인자 중 ~/ros 를 원하는 값으로 바꿔주면 됩니다.

환경 설정

다음과 같이 현재 실행 중인 쉘을 환경 설정을 바꿀 수 있습니다:

source ~/ros/setup.sh

새로운 쉘이 시작할 때마다 자동으로 ROS 환경 변수가 설정되도록 하려면 다음과 같이 해야합니다:

echo "source ~/ros/setup.sh" >> ~/.bashrc
. ~/.bashrc

Zsh 사용자 환경설정

Zsh 사용자는 source ~/ros/setup.sh를 실행하기 전에 ~/ros/setup.sh 마지막 줄을 다음과 같이 바꿔야 합니다.

source $ROS_ROOT/tools/rosbash/roszsh

비슷하게 새로운 쉘이 시작할 때마다 ROS 환경 변수가 설정되도록 하려면 다음과 같이 해야 합니다

echo "source ~/ros/setup.sh" >> ~/.zshrc
. ~/.zshrc

자습서

설치가 제대로 됐는지 검증하기 위해 ROS 자습서를 따라해 보세요.

Wiki: ko/cturtle/Installation/Slackware (last edited 2010-12-17 15:50:14 by yoonsoo.kim)