Player 와 Stage는 Robot 시뮬레이션에 사용되는 환경이다. 자세한 설명은
$ stage worlds/simple.world


이전에 작성한 글 중에 리눅스에서 player/stage설치를 한 글이 있었다.
오늘의 글은 제목과 마찬가지로 Mac OS X 10.6에 설치하는 과정이다.
물론 아직 해소되지 않은 의문이 남아 있어서 모든것을 삭제하고 다시 하려다가 덧없다고 느끼고 정리한다.
1. 먼저 XCode 는 기본으로 깔려 있어야 한다.
2. Macports 설치
맥포트는 각종 유닉스 관련 프로그램을 맥에 손쉽게 설치할 수 있게 도와주는 것이다. 맥포트로 설치하는게 아무리
생각해도 정신건강에 이로운것 같다. 암튼 맥포트 설치는 dmg 파일을 받아서 간단하게 설치가 끝난다.
생각해도 정신건강에 이로운것 같다. 암튼 맥포트 설치는 dmg 파일을 받아서 간단하게 설치가 끝난다.
본인은 player/stage 설치가 원할 하지 않아서 오늘 맥포트를 삭제하고 다시금 설치하는데 계속 멈추어있는 현상
발생 재부팅 및 opt디렉토리 삭제후 재설치 완료
맥포트 설치 완료후
$sudo port selfupdate
3. cmake 설치
설치하려는 것들의 최신버전이 cmake 를 사용해야 하기에 일단 설치
$sudo port install cmake
시간이 좀 걸리긴 하지만 이 정도는 괞찮다. 진정한 시간은 다음에 있다.ㅠ.ㅠ
4. stage 설치
리눅스에 stage 를 설치할때 수많은 의존패키지들 때문에 애를 먹었던 기억이 있다.
다행이 맥에서 이 작업은 너무 간단.ㅠ.ㅠ
다행이 맥에서 이 작업은 너무 간단.ㅠ.ㅠ
$sudo port install playerstage-stage
이렇게 해주면 관련 패키지들이 한꺼번에 설치가 된다. 정말 이 작업은 시간이 많이 걸린다.
다운받고 컴파일 하고 설치하고 등등의 작업을 혼자서 다 하기에 너무나도 기다리기에는 힘들다.
창을 내려놓고 다른것 하는게 속이 편하다.
다운받고 컴파일 하고 설치하고 등등의 작업을 혼자서 다 하기에 너무나도 기다리기에는 힘들다.
창을 내려놓고 다른것 하는게 속이 편하다.
5. 확인
기본적으로 /opt/local/bin, /opt/local/lib, /opt/local/share 밑에 관련 파일들이 알아서 잘 설치가 된다.
터미널에서 player, stage 해보면 정상적으로 작동
6. 맵 파일 다운 받기
stage가 사용할 수 있는 맵이 설치가 안되므로 위의 참고 사이트로 가서 같은 버전의 Stage3.2.2를 소스를 받아서
worlds 디렉토리를 /opt/local/share/ 로 복사
7. Stage 실행
$stage /opt/local/share/stage/worlds/simple.world
그렇다 바로 실행이 되면 솔직히 재미가 없기는 하지만 일단 실행이 안된다.
다음은 해당 에러 메시지
suakii-iMac:stage suakii$ stage worlds/simple.world
--
Stage 3.2.2
[Loading worlds/simple.world][Include pioneer.inc][Include map.inc][Include sick.inc]Libtool error: file not found. Can't open your plugin controller. Quitting
err: Failed to open "wander". Check that it can be found by searching the directories in your STAGEPATH environment variable, or the current directory if STAGEPATH is not set.]
(/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_playerstage-stage/work/Stage-3.2.2-Source/libstage/model_load.cc LoadControllerModule)
libtool error #2
--
메시지가 길어서 보기 어렵지만 암튼 Libtool error 이므로 분명 라이브러리 임포트에 실패하는것임
고로 환경변수 문제임 구굴링을 통해 알아본 결과 이미 해답은 존재하고 있었다. 물론 같은 에러 메시지는 아니지만
고로 환경변수 문제임 구굴링을 통해 알아본 결과 이미 해답은 존재하고 있었다. 물론 같은 에러 메시지는 아니지만
.profile에
export DYLD_LIBRARY_PATY=/opt/local/lib
8. Symbolic 링크 수정
7번의 과정을 거치고 실행하여도 여전히 에러 이번엔 다음과 같은 메시지 발견
$ stage worlds/simple.world
stage simple.world dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /opt/local/lib/libjpeg.8.dylib
Trace/BPT trap
해결책 - 모두 링크 관련 에러이다. 기존 링크 삭제후 해당 파일로 재연결
$ cd /opt/local/lib
$ sudo rm libjpeg.dylib
$ sudo ln -s /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Resources/libJPEG.dylib libjpeg.dylib
9. 두번째, 세번 Symbolic 링크 수정
$ stage worlds/simple.world
dyld: Symbol not found: __cg_TIFFClientOpen
Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /opt/local/lib/libTIFF.dylib
8번과 비슷한 에러이므로 비슷한 과정을 거친다(두번 작업)
$ cd /opt/local/lib
$ sudo rm libtiff.dylib
$ sudo ln -s /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Resources/libTIFF.dylib libtiff.dylib
$ sudo rm libpng.dylib
$ sudo ln -s /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Resources/libPng.dylib libpng.dylib
10. 드디어 Stage 실행.ㅠ.ㅠ
$stage ./worlds/simple.world
11. 결과 화면


12. 의문사항
Python이 Player의 의존패키지이므로 해당 버전의 비트가 의문시 되고 있다.
즉, 맥 자체에 내장되어 있는 파이썬은 64비트 버전이고 이것을 내가 명시적으로 32비트로 바꾸어 놓았다.
그리고 맥포트를 삭제하고 재설치 하는 과정에서 맥포트에서 사용하는 파이썬이 설치가 되는데 이것역시 64비트 버전이다.
어제설치시 에러가 발생한 이유가 이것 때문인지는 모르겠지만 암튼 아직 약간 미심쩍은 것은 맥에 내장되어있는
64비트파이썬을 그대로 두고서 맥포트를 재설치 하면 그냥 다 알아서 되는것 인지가 의문시됨 차마
맥포트를 다 지우고 다시 설치할 용기가 나지 않는다. 너무 오래 걸려서 암튼 성공.ㅠ.ㅠ
즉, 맥 자체에 내장되어 있는 파이썬은 64비트 버전이고 이것을 내가 명시적으로 32비트로 바꾸어 놓았다.
그리고 맥포트를 삭제하고 재설치 하는 과정에서 맥포트에서 사용하는 파이썬이 설치가 되는데 이것역시 64비트 버전이다.
어제설치시 에러가 발생한 이유가 이것 때문인지는 모르겠지만 암튼 아직 약간 미심쩍은 것은 맥에 내장되어있는
64비트파이썬을 그대로 두고서 맥포트를 재설치 하면 그냥 다 알아서 되는것 인지가 의문시됨 차마
맥포트를 다 지우고 다시 설치할 용기가 나지 않는다. 너무 오래 걸려서 암튼 성공.ㅠ.ㅠ
지금 이런것을 할때가 아닌것을 알긴 하지만 다음 목표는 아이폰에서 접속해서 위의 화면을 보이면서 로봇을 조정하는것
ㅋ 논문과는 먼 곳으로 자꾸만 가고 있는 나.ㅠㅠ.
p.s 맥에서 활성 윈도우 캡처하기
Shift + Command + 4 + Space
멋지다.^^


최근 덧글