컴파일을 해보자 4 (네이트온 : knateon)

[list:3soqnlz6]1. [url=http://ubuntu.or.kr/viewtopic.php?f=9&t=1527:3soqnlz6][color=#4000FF:3soqnlz6]기존 패키지 컴파일 (MC)[/color:3soqnlz6][/url:3soqnlz6]
2. [url=http://ubuntu.or.kr/viewtopic.php?f=9&t=1538:3soqnlz6][color=#4000FF:3soqnlz6]다운 받은 소스 컴파일 (dh_make)[/color:3soqnlz6][/url:3soqnlz6]
3. [url=http://ubuntu.or.kr/viewtopic.php?f=9&t=1543:3soqnlz6][color=#4000FF:3soqnlz6]GPG키 (개인키)[/color:3soqnlz6][/url:3soqnlz6]
4. [url=http://ubuntu.or.kr/viewtopic.php?f=9&t=1550:3soqnlz6][color=#4000FF:3soqnlz6]다운 받은 소스 컴파일 (네이트온)[/color:3soqnlz6][/url:3soqnlz6]
5. 재미로 하는 컴파일 1 (
6. 재미로 하는 컴파일 2
7. 커널 컴파일 1
8. 커널 컴파일 2 (커널 설치 후 설정들)
9. 개인 저장소와 우분투코리아 저장소 이용하기[/list:u:3soqnlz6]

4번째 컴파일을 해보자 4 (네이트온 : knateon) 입니다.

네이트온은 KDE(QT) 기반 프로그램입니다.
인트레피드 8.10부터는 저장소에 포함되어 apt-get으로 설치가 가능 할 것입니다.

knateon 설치와 컴파일은 컴파일에 필요한 의존 라이브러리만 설치 된다면
우분투에서 컴파일이 그리 어렵지는 않습니다.

우선 네이트온 프로젝트 홈피는 http://kldp.net/projects/nateon 이며
다운로드는 http://kldp.net/frs/?group_id=1143 인데 source 는 nateon-1.0-20080814 (리비전 183) 을 받으셔도 되지만
svn 을 이용하면 더욱 쉽고 편하게 최신 상태로 받을 수가 있습니다. 참고 : http://kldp.net/scm/?group_id=1143

[color=#400080:3soqnlz6][b:3soqnlz6]subversion 설치 와 소스 다운[/b:3soqnlz6][/color:3soqnlz6]
$ sudo apt-get install subversion
$ svn checkout svn://kldp.net/svnroot/nateon (소스를 프로젝트 저장소에서 직접 다운로드)

다운 끝에 체크아웃된 리비전 186이라고 나오는 군요
이 경우 네이트온 소스는 3가지가 종류로 다운 됩니다. $ cd nateon && ls

  • trunk : 계속해서 수정 중인 최신 소스가 있는 곳
  • tags : 외부로 릴리즈 된 안정 버전들이 존재하는 곳
  • branches : "bug fix"용 버전, "테스트용 코드" 혹은 "기능추가 코드"들이 있는 곳.
    머 대충 위와 같이 볼 수 있는데 우리는 무엇을 컴파일 해야 할까요?
    tags 겠죠?
    아래 지우고 디렉토리이름 바꾸는 건 '그놈노틸러스’에서 해도 됩니다.
    $ rm -rf branches trunk
    $ mv tags/1.0.175 nateon-1.0-186 (tag/1.0.175디렉을 nateon-1.0-186 으로 변경 했습니다.)
    위와같이 nateon-1.0-186 로 디렉을 만들면 앞에는 프로그램네임 다음 숫자는 버전 그다음 숫자는 리비전 을 나타내며
    dh_make 가 인식하여 파일 생성이 됩니다.

$ rm -rf tags
$ cd nateon-1.0-186

[color=#404080:3soqnlz6][b:3soqnlz6]dh_make[/b:3soqnlz6][/color:3soqnlz6]
$ dh_make -e bundo@bundo.biz (이제 gpg키도 만들었으니 자신의 이메일로 해보십시요)
s (singie) 선택 그리고 엔터
어떤 메세지가 나오나요?

Could not find nateon-1.0_186.orig.tar.gz
Either specify an alternate file to use with -f,
or add --createorig to create one.
네 그냥은 안되고 옵션을 더 주라고 하는 군요
-f 는 소스 압축 파일이 있어야 하니
– --createorig 인 -r 을 주고 하겠습니다.
$ dh_make -e bundo@bundo.biz -r
네 잘 만들어 지는 군요 위와 같이 -r (–createorig) 옵션을 주면 nateon-1.0-186.orig 디렉이 만들어 지며
본 디렉에는 debian과 파일들이 생성 됩니다.
[color=#404080:3soqnlz6]
[b:3soqnlz6]리드미 파일과 인스텔파일 ( README & INSTALL)[/b:3soqnlz6][/color:3soqnlz6]
프로그램 설치와 컴파일 시엔 리드미파일과 인스텔 파일을 읽어 보시기 바랍니다.
$ gedit README (흠 그렇군)
제가 README 를 다칠까요? 여러분은 이글 보고 복사해서 명령어 라인에 붙여도 되지만 전 그냥 bash 쉘의 자동완성기능을 이용 합니다.
gedit 치고 R치고 탭키로 ^^ 한번 해보세요. 위에 명령들도 마찬가지랍니다. 잘 모르시는 분들은 연습해보세요!
$ gedit INSTALL
요구사항을 보면

[code:3soqnlz6]* 요구사항 (kubuntu 기준)

  • cmake
  • kdelibs4-dev (3.5.7-0ubuntu1)
  • libsqlite3-dev (3.3.13-0ubuntu)
  • xorg-dev (7.2-0ubuntu11)
  • libarts1-dev (1.5.7-0ubuntu1)
  • libartsc0 (1.5.7-0ubuntu1)
  • libartsc0-dev (1.5.7-0ubuntu1)
  • kdebase [/code:3soqnlz6]
    와 같이 나오는데 이게 컴파일시 의존 패키지입니다.
    $ fakeroot debian/rules binary 해보십시오. 컴파일 의존 패키지로 때문에 컴파일이 멈출 것입니다.
    의존 패키지 설치 $ sudo apt-get install cmake kdelibs4-dev libsqlite3-dev xorg-dev libarts1-dev libartsc0 libartsc0-dev kdebase
    위와 같이 한 줄로 의존패키지를 써주면 동시에 전부 설치 안 된 것들은 몽땅 설치가 됩니다.

이런 후에 fakeroot debian/rules binary 하여 패키지 만들고 설치하면 본인은 잘 쓸수 있습니다.
그러나 다른이에게 주면 다른 이는 설치 해도 실행이 안됩니다.
이유는 뭘까요? 네 설치 시에 의존 패키지가 설치되지 않기 때문입니다.

/debian 에 control 파일의 편집
$ gedit debian/control

[code:3soqnlz6]Section: unknown 을 Section: net 로
Build-Depends: debhelper (>= 5) 를
Build-Depends: debhelper (>= 5), cmake, kdelibs4-dev, libsqlite3-dev, xorg-dev, libarts1-dev, libartsc0, libartsc0-dev 와 같이 변경한 후
INSTALL 문서에 근거하여 버전을 넣어 보겠습니다.
kdelibs4-dev (3.5.7-0ubuntu1) 이라고 했으니 kdelibs4-dev (>=3.5.7), 이렇게 변경합니다. 3.5.7 과 같거나 그 이상 이라고 적은 것입니다.
그렇게 해서
Build-Depends: debhelper (>= 5), cmake, kdelibs4-dev (>=3.5.7), libsqlite3-dev (>=3.3.13), xorg-dev (>=7.2), libarts1-dev (>=1.5.7), libartsc0 (>=1.5.7), libartsc0-dev (>=1.5.7)
가 되는 군요 흐 길다... 사실 다 적을 필요는 없는데 Build-Depend가 이런 거다 하고 알리려고요 ^^[/code:3soqnlz6]
위와 같이 Build-Depends를 명시 해주면
Depends: ${shlibs:Depends}, ${misc:Depends} 이 줄이 위 컴파일 의존 라이브러리를 참고 하여 INFO 파일을 만들고
패키지 설치시에 의존 파일들이 같이 설치됩니다.
INFO 파일 내용 스샷 (만들어진 DEB 파일을 MC 로 엔터 쳐서 그 안에 INFO 파일을 F4로 열기 한 상태의 일부분 입니다.)
[attachment=0:3soqnlz6]nateon-nateon-1.0_186-1_i386.deb#deb.png[/attachment:3soqnlz6]

[color=#404080:3soqnlz6][b:3soqnlz6]컴파일[/b:3soqnlz6][/color:3soqnlz6]
$ fakeroot debian/rules binary 로 컴파일 해보십시오
어때요 컴파일되나요?
"make[1]: *** 타겟이 지정되지 않았고 메이크파일이 없습니다. 멈춤." 이라고 나오죠?
왜 그럴까요?
다시 INSTALL 문서를 볼까요! 문서 중간 컴파일에 보면
$ cmake -DCMAKE_INSTALL_PREFIX=[설치할 디렉토리] 있군요
타겟으르 지정해야 쏘는 모양입니다.
그럼 음
$ cmake -DCMAKE_INSTALL_PREFIX=/usr 로 하고 명령어 내려 보세요 그런 후 다시 fakeroot 를 …
잘되죠 ^^

[color=#404080:3soqnlz6][b:3soqnlz6]설치[/b:3soqnlz6] [/color:3soqnlz6]
$ cd … && sudo dpkg -i nate*.deb
따끈따끈한 네이트온이 설치되겠군요!

[color=#404080:3soqnlz6][b:3soqnlz6]이번 글에 중요한 건 [/b:3soqnlz6][/color:3soqnlz6]
[list:3soqnlz6]1. svn 에서 소스 다운 법
2. dh_make 옵션
3. control 파일에서 의존 패키지 편집 입니다.[/list:u:3soqnlz6]

추가 참고 링크 : http://www.debian.org/doc/manuals/maint … #s-control

아래부분에서

[quote="강분도":2uqpobp1]
아래 지우고 디렉토리이름 바꾸는 건 '그놈노틸러스’에서 해도 됩니다.
$ rm -rf branches trunk
$ mv mv tags/1.0.175 nateon-1.0-186 (tag/1.0.175디렉을 nateon-1.0-186 으로 변경 했습니다.)
위와같이 nateon-1.0-186 로 디렉을 만들면 앞에는 프로그램네임 다음 숫자는 버전 그다음 숫자는 리비전 을 나타내며
dh_make 가 인식하여 파일 생성이 됩니다.
[/quote:2uqpobp1]
mv 가 한번 더 들어 간거 같네요~

그리고 저는 sudo apt-get install dh_make 해도 꾸러미를 찾을 수가 없다고 나오네요~

[quote="강분도":3phup2f8]mv 가 한번 더 들어 간거 같네요~[/quote:3phup2f8]
고쳤습니다 감사 합니다. ;)

[quote="jhlee0324":3phup2f8]그리고 저는 sudo apt-get install dh_make 해도 꾸러미를 찾을 수가 없다고 나오네요~[/quote:3phup2f8]

명령어는 dh_make 이나 패키지 꾸러미는 dh-make 입니다. 언더빠 아니고 하이픈… :idea:
[url=http://ubuntu.or.kr/viewtopic.php?f=9&t=1538&p=5781#p5781:3phup2f8][color=#8000FF:3phup2f8]두번째 글[/color:3phup2f8][/url:3phup2f8]에 설치 명령어를 안넣었군요 이도 수정 했습니다.

앞부분까지 자 따라갔는데…

[quote="강분도":1qpqax6n][color=#404080:1qpqax6n][b:1qpqax6n]컴파일[/b:1qpqax6n][/color:1qpqax6n]
$ fakeroot debian/rules binary 로 컴파일 해보십시오
어때요 컴파일되나요?
"make[1]: *** 타겟이 지정되지 않았고 메이크파일이 없습니다. 멈춤." 이라고 나오죠?
왜 그럴까요?
다시 INSTALL 문서를 볼까요! 문서 중간 컴파일에 보면
$ cmake -DCMAKE_INSTALL_PREFIX=[설치할 디렉토리] 있군요
타겟으르 지정해야 쏘는 모양입니다.
그럼 음
$ cmake -DCMAKE_INSTALL_PREFIX=/usr 로 하고 명령어 내려 보세요 그런 후 다시 fakeroot 를 …
잘되죠 ^^[/quote:1qpqax6n]

여기서 cmake가 깔려있지 않아서 apt-get install cmake 로 cmake를 깔았습니다.
그리고 cmake -DCMAKE_INSTALL_PREFIX=/usr을 치니깐
[attachment=0:1qpqax6n]nateon-1.0-186.png[/attachment:1qpqax6n]

이렇게 나옵니다… 어떤 부분이 잘못된건가요?

에러가 나면 마지막 라인 에러 메세지를 보시기 바랍니다.
"Could Not find everything required for compiling Kde 3 programs"
"kde 3 프로그램 컴파일에 필요한 모든것을 찾을 수 없습니다."

위글은 컴파일 해보자 4번째 글로 앞에서 부터 1, 2, 3번을 해온 걸 전제 하에 적은 것 입니다.

컴파일 의존 패키지 또는 컴파일러를 설치 하셨는지요?
전에 쓴 1 번 글 참고 하여 컴파일러 설치를…

위에 : 컴파일 의존 패키지 설치 $ sudo apt-get install cmake kdelibs4-dev libsqlite3-dev xorg-dev libarts1-dev libartsc0 libartsc0-dev kdebase 를…
해보시기 바랍니다.

혹시나 우분투 처음 설치 된 상태에서 위 명령대로 하면 안되나 해서
버박에 새로 설치하여
컴파일러 , svn , dh-make , cmake 와 위에서 말한 컴파일 의존 패키지 설치 후
위 명령어 그대로 복사하면서 해보았습니다.

[attachment=1:1e48yblj]cmake.png[/attachment:1e48yblj]
잘 되는 군요 ^^
[attachment=0:1e48yblj]fakeroot.png[/attachment:1e48yblj]

아 늦었군요 시간이… :?

[quote="강분도":owm42wse]
$ fakeroot debian/rules binary 해보십시오. 컴파일 의존 패키지로 때문에 컴파일이 멈출 것입니다.
의존 패키지 설치 $ sudo apt-get install cmake kdelibs4-dev libsqlite3-dev xorg-dev libarts1-dev libartsc0 libartsc0-dev kdebase
위와 같이 한 줄로 의존패키지를 써주면 동시에 전부 설치 안 된 것들은 몽땅 설치가 됩니다.

이런 후에 fakeroot debian/rules binary 하여 패키지 만들고 설치하면 본인은 잘 쓸수 있습니다.
그러나 다른이에게 주면 다른 이는 설치 해도 실행이 안됩니다.
이유는 뭘까요? 네 설치 시에 의존 패키지가 설치되지 않기 때문입니다.

/debian 에 control 파일의 편집
$ gedit debian/control

[code:owm42wse]Section: unknown 을 Section: net 로
Build-Depends: debhelper (>= 5) 를
Build-Depends: debhelper (>= 5), cmake, kdelibs4-dev, libsqlite3-dev, xorg-dev, libarts1-dev, libartsc0, libartsc0-dev 와 같이 변경한 후
INSTALL 문서에 근거하여 버전을 넣어 보겠습니다.
kdelibs4-dev (3.5.7-0ubuntu1) 이라고 했으니 kdelibs4-dev (>=3.5.7), 이렇게 변경합니다. 3.5.7 과 같거나 그 이상 이라고 적은 것입니다.
그렇게 해서
Build-Depends: debhelper (>= 5), cmake, kdelibs4-dev (>=3.5.7), libsqlite3-dev (>=3.3.13), xorg-dev (>=7.2), libarts1-dev (>=1.5.7), libartsc0 (>=1.5.7), libartsc0-dev (>=1.5.7)
가 되는 군요 흐 길다... 사실 다 적을 필요는 없는데 Build-Depend가 이런 거다 하고 알리려고요 ^^[/code:owm42wse]
[/quote:owm42wse]

제가 글을 제대로 안읽었군요…죄송합니다. debian/control에서 의존성을 쳐주면 cmake할 때 안해도 될 줄 알았는데, 그게 아니군요… 지금 제대로 설치 했습니다. 감사합니다. ^^

한가지 질문 할께요~ 지금 네이트온을 깔았는데, 프로그램->인터넷->네이트온을 볼 때 아이콘이 없어서 그냥 창 모양으로
나오네요… 이 아이콘을 네이트온 아이콘으로 바꿀려면 어떻게 해야하나요? 바탕화면이나 패널의 아이콘처럼 속성이 없네요…

강분도님의 글을 보고 많이 배우고 있습니다…^^
이번에 네이트온을 컴파일 해보려고 하는데, 마지막에서 막히는군요…

cmake -DCMAKE_INSTALL_PREFIX=/usr 로 타겟 지정후, 다시 fakeroot debian/rules binary 했을때

[code:sjke862o]/usr/bin/fakeroot: line 164: debian/rules: No such file or directory[/code:sjke862o] 라고 뜹니다.

일단 인스톨 파일에 있는대로,

[code:sjke862o]
$ make
$ sudo make install
[/code:sjke862o]
하니 설치는 됐는데 말이죠…

와~ 설치됐습니다. ^^ 컴파일이 뭔지도 모르는 저로서는 따라하면서도 진행 과정이 신기하기만 하네요.
어쨌든 새리비젼을 깔고나니 소리도 잘 나는데요? 피진 안되는 대신 이걸로 버텨야 겠습니다. ㅎㅎ

감사합니다. ^^

[quote="namgoon":1c9mohk2]강분도님의 글을 보고 많이 배우고 있습니다…^^
이번에 네이트온을 컴파일 해보려고 하는데, 마지막에서 막히는군요…

cmake -DCMAKE_INSTALL_PREFIX=/usr 로 타겟 지정후, 다시 fakeroot debian/rules binary 했을때

[code:1c9mohk2]/usr/bin/fakeroot: line 164: debian/rules: No such file or directory[/code:1c9mohk2] 라고 뜹니다.

일단 인스톨 파일에 있는대로,

[code:1c9mohk2]
$ make
$ sudo make install
[/code:1c9mohk2]
하니 설치는 됐는데 말이죠…[/quote:1c9mohk2]
dh_make 가 안된 듯 …
위에 글은 4장이라 앞에 1장 글부터 살펴 해봐야 합니다.
앞에 다른 필요한 거 설치 과정이 있습니다.

그래도 잘 안되시면 sudu apt-get install nateon :mrgreen:

ㅎㅎ 이번에 다시 해보니 잘 되네요…
저번엔 뭔가 빼먹었나 봅니다…^^;;

리드미 파일과 인스텔파일 ( README & INSTALL) <- 인스텔 오타 같습니다. 인스털이나 인스톨

[quote="ulepoz":3voc2r5p]리드미 파일과 인스텔파일 ( README & INSTALL) <- 인스텔 오타 같습니다. 인스털이나 인스톨[/quote:3voc2r5p]

http://www.ubuntu.or.kr/viewtopic.php?p=37223#p37223

저영어 잼병입니더…

열심히 읽어 주시고 오타 발견하여 주셔서 감사 합니다.

강분도 님의 강좌를 보며~ 열심히 따라하고 있습니다. 항상 감사합니다.
다름이 아니라…

[quote:uk5324e8]$ gedit INSTALL
요구사항을 보면

[code:uk5324e8]* 요구사항 (kubuntu 기준)

  • cmake
  • kdelibs4-dev (3.5.7-0ubuntu1)
  • libsqlite3-dev (3.3.13-0ubuntu)
  • xorg-dev (7.2-0ubuntu11)
  • libarts1-dev (1.5.7-0ubuntu1)
  • libartsc0 (1.5.7-0ubuntu1)
  • libartsc0-dev (1.5.7-0ubuntu1)
  • kdebase [/code:uk5324e8]
    와 같이 나오는데 이게 컴파일시 의존 패키지입니다.
    $ fakeroot debian/rules binary 해보십시오. 컴파일 의존 패키지로 때문에 컴파일이 멈출 것입니다.
    의존 패키지 설치 $ sudo apt-get install cmake kdelibs4-dev libsqlite3-dev xorg-dev libarts1-dev libartsc0 libartsc0-dev kdebase
    위와 같이 한 줄로 의존패키지를 써주면 동시에 전부 설치 안 된 것들은 몽땅 설치가 됩니다.[/quote:uk5324e8]

의존 패키지 설치시에 다른건 다 설치가 되는데

[color=#BF0040:uk5324e8]libarts1-dev libartsc0 libartsc0-dev[/color:uk5324e8]

이렇게 세가지의 패키지가 설치가 되지 않습니다. ㅜㅜ

각각 실행했을 때의 에러 내용은 아래와 같습니다.

[color=#404080:uk5324e8]E: libarts1-dev 패키지를 찾을 수 없습니다

E: libartsc0 패키지는 설치할 수 있는 후보가 없습니다

E: libartsc0-dev 패키지를 찾을 수 없습니다[/color:uk5324e8]

우분투 9.04 사용중이며 우비로 설치했습니다.

지금 9.04 이상에서 컴파일시 [quote="clicket":3gaw2iyl]의존 패키지 설치시에 다른건 다 설치가 되는데

libarts1-dev libartsc0 libartsc0-dev

이렇게 세가지의 패키지가 설치가 되지 않습니다. ㅜㅜ
[/quote:3gaw2iyl]
8.10과 큰 변화중 하나가 kde가 4로 바꿔진 것인데 따라서 nateon 컴파일시 의존 패키지는

[code:3gaw2iyl]debhelper (>= 6), cmake, kdelibs4-dev (>= 3.5.7), libsqlite3-dev (>= 3.3.13), xorg-dev (>= 7.2), xdg-utils, libao-dev (>= 0.8)[/code:3gaw2iyl]
입니다.

분도님~~~ 답변감사해요^^

ㅜㅜ 하지만 한번만 더 부탁드려요 밑에좀 봐주세요

[code:38slzlvu]CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as

cmake_minimum_required(VERSION 2&#46;6)

should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
KDE3_ARTSKDE_LIBRARY
linked by target "knateon" in directory /home/clicket/nateon1/nateon/nateon-1.0-275/nateon

– Configuring incomplete, errors occurred![/code:38slzlvu]

ㅜㅜ 계속계속 이런 에러메시지가 나오는데 제가 초보다 보니 해결책을 모르겠습니다.

$ cmake -DCMAKE_INSTALL_PREFIX=/usr 라고 치면 쭉쭉 넘어가다가 이런메시지가 나오구요.
$ fakeroot 할 때도 이런 메시지가 나오네요