Vlc 0.9.1 컴파일해서 설치했다가 낭패를 만났네요

며칠 전부터 분도님의 deb 패키징 하는 것에 재미를 들여서 vlc 0.9.1 소스를 다운받아서 패키징을 한번 해본다고
거의 1시간 가량 노력을 했네요. 중간에 설치해줘야 하는 라이브러리가 정말정말 엄청나게 많더군요. 없어도 그냥
넘어가는 것도 있지만 중요한건 절대로 안넘어가는 듯. 없다고 에러 뜨면 라이브러리 찾아 설치해주고 다시

[code:2n1mkelo]fakeroot debian/rules binary[/code:2n1mkelo]
실행하고… 이걸 여러번 하는게 시간이 엄청 걸리는 듯. 실제 컴파일은 5분 남짓 밖에 안걸렸습니다.
암튼 별에별 라이브러리 찾아서 설치해주고 다시 configuration 해보고 또 에러나면 다시 설치하고 암튼 거의 1시간
정도 뻘짓을 하고서야 컴파일 과정으로 넘어가고 조금 있으니 원하는 deb 파일을 얻을 수가 있었습니다.

제가 프로그래밍을 한 것도 아닌데 괜히 들떠서 좋아라 했는데 그것도 잠시… 시험삼아서 mp3 파일을 재생했더니만
처음에는 소리가 잘 나오다가 갑자기 소리가 멎어버립니다. 그리고는 시스템이 이상하게 늦려지다가는 멈춰버립니다.
어쩔 수 없이 reboot을 하고 나서 보니… 이런이런… 모든 어플들의 windows frame이 몽땅 사라져버렸습니다.
화면 축소/확대 및 닫기 기능을 당연히 쓸 수 없게 되었죠. 화면 하단에 있는 실행 리스트에서 손수 닫아줘야 했다는…

다행히도 얼마전에 xorg.conf를 백업해둔게 있어서 다시 되돌려 X를 재실행하니 원래대로 돌아왔습니다. 뭐가 잘못
되어서 이렇게 되었는지 알 수가 없으니 그냥 이대로 쓰던가 해야겠네요. 그런데 컴파일을 위해서 설치했던 라이브러리
는 그대로 둬도 상관이 없는건가요? 어차피 컴파일 하는거 외에는 헤더파일과 라이브러리는 쓸일도 없는데 괜히
하드 공간만 찾지하고 있어서 말이죠. 제가 성격이 좀 모난 편인지 그렇게 있는 꼴을 못봐줍니다. 고쳐야 하는데…
암튼 이렇게 쓰다가 조그마한 문제라도 발생하면 아마 그 즉시로 우분투 갈아업고 다시 설치할지도 모르죠. 지금까지
몇 번을 그렇게 했으니 말이죠. 우분투에서 윈도 XP에 있는 복구 기능이 있는가요? 그러니까 원하는 시점으로 시스템을
되돌리는 기능 말이죠…

제가 컴파일해서 만든 vlc 패키지을 그냥 올려봅니다. 근간에 시스템 한번 갈아엎을 마음이 있으신 분들만 설치 한번
해보시길… 그런게 아닌데 설치했다가 문제 생기는건 저도 책임을 못집니다. ^^

P.S. 분도님에게 질문!! Configuration 할 때 필요한 라이브러리의 리스트를 미리 알 수 있는 방법이 있나요? 미리
알 수만 있다면 컴파일 전에 미리 설치를 해두고 컴파일을 하면 오늘과 같은 시행착오는 겪지 않아도 되니 말이죠.
오후 1시부터 해서 거의 3시까지 열심히 뻘짓한 결과가 별로 좋지를 않아서 기분이 꽝입니다!!

[attachment=0:2n1mkelo]vlc_0.9.1-1_i386.deb[/attachment:2n1mkelo]

강분도 님은 아닙니다만, 개략적으로 답변을 드려 봅니다.

윈도우 프레임이 사라지는 문제는 혹여 현재 Compiz를 사용 중이신지요?

Compiz 사용 중에 그런 문제가 종종 발생하는데 emerald 윈도우 데코레이터를 설치해 주시거나, 현재 사용 중인 윈도우 데코레이터를 다시 로드함으로써 대충 해결 가능하더군요. 이는 fusion-icon이라는 패키지를 이용하여 편리하게 할 수도 있습니다.

Compiz에 관련한 문제가 아니라면 잘 모르겠네요. ^^;

그리고 소스 빌드하여 설치할 때, configure 이전에 미리 필요한 라이브러리의 리스트를 알고 싶다고 하셨는데, 이건 함께 배포된 INSTALL 등의 파일 내용을 참조할 수 밖에 없습니다.

혹은, configure 파일이나 makefile 등을 뒤져서 알아 내던가요. 보통은 INSTALL 파일 안에 설명이 있거나 해당 프로그램의 웹 사이트에서 설치 방법에서 prerequisite 등의 섹션을 참조하셔야 합니다.

우분투에서 Windows에 있는 것과 같은 복구 기능을 본 적은 없는 것 같네요.

도움되셨길…

먼저 저의 허접한 [b:1pe7k566]"컴파일을 해보자"[/b:1pe7k566] 글에 관심가져주셔서 감사 합니다.
vlc 는 우분투에도 있느 패키지죠 그러니 패키지 버전 업이라면 저는 이 방법으로 하겠습니다.

패키지 버전 업 리빌드
[list:1pe7k566]1. 작업 디렉토리를 만들고 들어간다.
2. apt-get source pkgname (기존 소스를 받는다)
3. sudo apt-get build-dep pkgname (컴파일 의존 패키지를 설치 한다.)
4. 최신 소스를 가져와 푼다.
5. apt-get source 로 받은 pkgname의 디렉에서 debian디렉을 최신소스로 복사한다.
6. ./debian/changeslog (맨위에 소스의 새버전을 기입한다)
7. ./debian/rules build 로 잘 빌드되는지 확인한다.
8. 잘되면 fakeroot ./debian/rules binary 로 패키지를 만든다.
[/list:u:1pe7k566]

그리고 apt-get build-dep pkgname 으로 설치한 컴파일 의존 패키지들의 삭제는 전에 포럼에서도 말했듯이
명령어를 조합하여 build-dep 을 역이용 하는 거지요!
$ sudo aptitude markauto $(apt-cache showsrc [color=#4000BF:1pe7k566]vlc[/color:1pe7k566] | grep Build-Depends: | sed -e ‘s/Build-Depends:|,|([^)])//g’)
즉 보는 거만은 apt-cache showsrc [color=#4000BF:1pe7k566]vlc[/color:1pe7k566] | grep Build-Depends: | sed -e 's/Build-Depends:|,|([^)]
)//g’ 이며
리스트 만들기는 apt-cache showsrc [color=#4000BF:1pe7k566]vlc[/color:1pe7k566] | grep Build-Depends: | sed -e ‘s/Build-Depends:|,|([^)]*)//g’ > vlc-dep.txt 하시면… ^^

또한 새로 설치된 패키지는
/root/.synaptic/log 와 /var/cache/apt/archives 를 살펴 보시면 알수 있습니다.

저도 한깔끔 한답니다 . ;) 그러나 한깔끔도 낭패를 만나기 쉽습니다. -,.-V