manywaypark's Blog
개발, 검색, 함수

일단 잡담부터...
서버쪽에서는 하드웨어 문제나 안정성 때문에 웬만하면 그냥 Dapper LTS를 쓰려고했는데, sbcl이 0.9.8에서 더이상 버전이 안올라 가는 듯보였다. 내가 필요한 thread 및 timer기능이 온전하게 돌아가는 버전이 아니었다.

그래서 손쉬운 방법으로 서버 한대를 Edgy로 업그레이드를 해버렸다. 그런데, 이놈이 자주 죽는거 같더니 마지막으로는 부트파티션이 깨졌다. Orz.
아무래도 SATA RAID랑 궁합이 잘 안맞는다는 추측만 했다. 결론은 역시 LTS 버전이 안정적이라는 것.

이제 여기부터 backport이야기...
그래서 SBCL을 backport해보기로 했다.
날로 먹어버리겠다는 일념으로(좀 얍삽한가?) IDC에 있는 서버중에 동일 아키텍쳐(AMD64)에 Feisty가 깔려있는 곳에서 sbcl의 버전을 확인했더니 1.0이다. 충분하다! 그래서 그 머신에서 "apt-get source"로 소스를 받은 다음 통째로 Dapper LTS가 깔린 곳에 옮겨서 debian package를 만들었다.

"dpkg -i"".deb"파일을 설치하면 끝
이라고 생각했는데, 그게 아니였다. common-lisp-controller의 버전이 너무 낮다고 불평을 했다.
살짝 좌절했다. '이거 common-lisp-controller 하나만 더 가지고 온다고 될까? 그 놈을 설치하려면 또 다른 놈(들)에게 의존성이 걸려있는거 아닐까? 결국에는 시스템 전체 업그레이드?' 불안이 밀려왔다. 그래도 해보는데까지는 해보기로 했다. 어차피 내 잘못으로 빚어진 일이니 내 손으로 끝장을 봐야했다(데스크탑(edgy)에서 열심히 개발하고 서버(dapper)에 올리니 안돌아갔다. Orz).

비장한 각오로 common-lisp-controller를 위의 과정과 똑같이 backport했더니 그냥 해결됐다.
잠시 비장했던 마음가짐이 아까웠다.

잡설끝.

설치에 관한 간략한 설명:
  1. 먼저 dapper 박스에 sbcl이 안깔려 있다면 일단 깐다.
    ~$ sudo apt-get install sbcl
  2. 첨부파일을 다운로드 후에 적당한 곳에 압축을 풀고 패키지 두 개를 설치한다 (md5sum 체크도 한번 해주면 좋다).
    ~$ tar xvzf sbcl_1.0.0.0-1~dapper1_amd64.tgz
    ~$ sudo dpkg -i common-lisp-controller_6.1~dapper1_all.deb
    ~$ sudo dpkg -i sbcl_1.0.0.0-1~dapper1_amd64.deb
  3. 실행해보고 버전 확인한다.
    ~$ sbcl --version
    SBCL 1.0

대충 package cache 디렉토리 뒤져서 눈짐작으로 버전과 아키텍쳐사이에 ~dapper1을 넣는 것이 backport한 패키지의 명명법이란 것을 추측했는데 정확한 건지는 잘 모르겠다.
하고 나서 보니 backport라기보다는 build가 아닐까 하는 생각도 좀 든다. ^^;

happy hackin'

댓글을 달아 주세요

분류 전체보기 (306)
잡담 (20)
함수형 언어 (65)
emacs (16)
java (18)
tips & tricks (154)
사랑 (1)
가사 (0)
독서 (4)
mobile (6)
비함수형 언어 (2)

공지사항

최근에 받은 트랙백

12-02 07:49