▶ 시작 좀 해보려다가...
개발 환경도 구축했고, ARNL을 통해 localization과 path-planning을 구현해놓고, 이제 로봇에 올리면 되겠다 싶은 찰나에 일을 저질렀다. 로봇으로 구동되는 것을 확인하면 ARIA, ARNL, ArNetworking을 차례로 연재할 생각이었는데 그 이전에 지금의 상황을 정리할 필요성을 느낀다.
개발 환경도 구축했고, ARNL을 통해 localization과 path-planning을 구현해놓고, 이제 로봇에 올리면 되겠다 싶은 찰나에 일을 저질렀다. 로봇으로 구동되는 것을 확인하면 ARIA, ARNL, ArNetworking을 차례로 연재할 생각이었는데 그 이전에 지금의 상황을 정리할 필요성을 느낀다.
수술 중인 P3-AT
GCC 3.4가 필요해요
P3-AT는 내부에 PC를 갖고 있으며 Debian 리눅스가 설치되어있다. ARIA 라이브러리까지는 문제가 없지만 ARNL을 사용할 때에 문제가 발생했는데 그것은 gcc의 버전 때문이었다. (온갖 뻘짓은 다 해보고는, 원인이 정말 별 거 아니었을 때의 황당함은 요즘들어 정말 뼈저리게 느낀다)
이 시스템에는 기본 gcc가 3.3에 맞추어져있다. /usr/bin/gcc -> /usr/bin/gcc-3.3 이런 식으로 심볼릭링크가 걸려있는 것이다. 그리고 ARIA는 소스로 배포되므로 컴파일을 통해 설치되기 때문에 컴파일 에러만 없다면 사용하는 데에 아무런 지장이 없다. 하지만 ARNL의 경우 바이너리로 배포되는데 이게 gcc 3.4 이상 버전으로 컴파일 되어서 호환성에 문제가 생긴다. 따라서 /usr/bin/gcc 를 /usr/bin/gcc-3.4 로 바꿔주어야 한다. 정말 별 것 아니지 않은가? 내가 고생한 시간은 이리도 허망한 시간이었던가!
어찌되었든 이제 ARNL을 사용할 수 있다.
Debian 리눅스, apt-get으로 apt-get을 날리다.
나는 이 주제로 글을 작성하기에 앞서 3 단계 정도 앞서서 코드를 구현하고 테스트하는 과정을 거치고 있다. ARNL을 확인하고는 참여하고 있는 프로젝트로 배포한 프레임워크를 사용하기 위해 컴파일하는 과정에서 문제가 발생했다. 필요한 라이브러리를 컴파일하는데에 몇가지 필요한 도구가 버전이 안맞는 것이었다.
Debian 리눅스는 apt-get을 통해 시스템을 업그레이드하거나 새로운 라이브러리를 설치할 수 있다. 그런데 이게 동작하지 않는 것이 아닌가! 또 몇 번의 삽질 결과 /etc/apt/source.list 에 적힌 저장소 URL에 문제가 있는 것을 발견했다. 그리고 이것을 수정하고 automake 를 업그레이드하는 순간 뻣었다. 하하! gcc 4.x 버전을 설치하는 과정에서 문제가 발생한 듯 하다. apt-get은 더 이상 실행되지 않았다. 구글을 통해 여러가지를 찾아보고 시도해보았지만 여전히 동작하지 않는다. startx도 먹히지 않는다. 시스템 변수가 제대로 등록되지 않은 듯 하다.
나는 fedora가 좋아요
결국 나는 더 많은 뻘짓을 하기 전에 리눅스를 갈아엎기로 마음먹었다. 나는 리눅스를 잘 사용하는 편이 절대 아니지만 그래도 취향을 묻는다면 fedora가 좋다.
문제는 로봇에 cdrom이 없다는 것! 다 뜯어내서 ide 연결 부분을 찾았건만 연결해도 인식을 못하는 건 왜일까? 한참을 고민하고 또다시 여러번의 삽질 끝에 나는 꽤나 간단한 해결 방법을 찾았다. USB->IDE 케이블을 이용하면 간단하게 이 문제를 해결할 수 있다. P3-AT에서 USB는 SICK laser 뒷 부분에 하나 꽂을 수 있게 되어있다.
Fedora는 버전 8을 설치했다. 버전 9에서는 ARIA 라이브러리가 컴파일되지 않는 귀찮은 문제가 발생한다. (limits.h를 추가하면 된다는데 귀찮은 일이다) 설치에는 별다른 문제가 없는 듯 하다. 다음 글이 ARIA 라이브러리에 대한 글이라면 설치에 별 문제없이 성공한 것이고, 그렇지 않다면 또 수십번의 삽질을 경험한 것이다.
다음 글이 ARIA 라이브러리에 대한 개요가 되길...
이 글의 트랙백 주소는 http://semix2.tistory.com/trackback/360 입니다