우분투 한국 사용자 모임

 

지금 시간: 2010/09/03 금 12:30 pm


새 글타래 올리기 댓글 달기  [ 글: 16 개 ]  페이지 이동 1, 2  다음
글쓴이 내용
오프라인
글올림: 2008/09/10 수 7:08 pm 
회원 아바타
 e-메일  www  개인정보

가입일: 2008/03/31 월 5:47 pm
글: 4732

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

subversion 설치 와 소스 다운
$ 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

dh_make
$ 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과 파일들이 생성 됩니다.

리드미 파일과 인스텔파일 ( README & INSTALL)

프로그램 설치와 컴파일 시엔 리드미파일과 인스텔 파일을 읽어 보시기 바랍니다.
$ gedit README (흠 그렇군)
제가 README 를 다칠까요? 여러분은 이글 보고 복사해서 명령어 라인에 붙여도 되지만 전 그냥 bash 쉘의 자동완성기능을 이용 합니다.
gedit 치고 R치고 탭키로 ^^ 한번 해보세요. 위에 명령들도 마찬가지랍니다. 잘 모르시는 분들은 연습해보세요!
$ gedit INSTALL
요구사항을 보면
Code:
* 요구사항 (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

와 같이 나오는데 이게 컴파일시 의존 패키지입니다.
$ 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:
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가 이런 거다 하고 알리려고요 ^^

위와 같이 Build-Depends를 명시 해주면
Depends: ${shlibs:Depends}, ${misc:Depends} 이 줄이 위 컴파일 의존 라이브러리를 참고 하여 INFO 파일을 만들고
패키지 설치시에 의존 파일들이 같이 설치됩니다.
INFO 파일 내용 스샷 (만들어진 DEB 파일을 MC 로 엔터 쳐서 그 안에 INFO 파일을 F4로 열기 한 상태의 일부분 입니다.)
Attachment:
nateon-nateon-1.0_186-1_i386.deb#deb.png
nateon-nateon-1.0_186-1_i386.deb#deb.png [ 3.01 KiB | 5606 번 봄 ]


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

설치
$ cd .. && sudo dpkg -i nate*.deb
따끈따끈한 네이트온이 설치되겠군요!

이번 글에 중요한 건
    1. svn 에서 소스 다운 법
    2. dh_make 옵션
    3. control 파일에서 의존 패키지 편집 입니다.

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


맨 위로 이동
 

오프라인
글올림: 2008/09/10 수 10:21 pm 
 e-메일  개인정보

가입일: 2008/09/01 월 2:32 pm
글: 23
아래부분에서
강분도 님의 글:
아래 지우고 디렉토리이름 바꾸는 건 '그놈노틸러스'에서 해도 됩니다.
$ 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 가 인식하여 파일 생성이 됩니다.

mv 가 한번 더 들어 간거 같네요~

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

_________________
시간이 없다는 것은 변명일 뿐....


맨 위로 이동
 

오프라인
글올림: 2008/09/10 수 11:11 pm 
회원 아바타
 e-메일  www  개인정보

가입일: 2008/03/31 월 5:47 pm
글: 4732
강분도 님의 글:
mv 가 한번 더 들어 간거 같네요~

고쳤습니다 감사 합니다. ;)

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


명령어는 dh_make 이나 패키지 꾸러미는 dh-make 입니다. 언더빠 아니고 하이픈... :idea:
두번째 글에 설치 명령어를 안넣었군요 이도 수정 했습니다.


맨 위로 이동
 

오프라인
글올림: 2008/09/10 수 11:56 pm 
 e-메일  개인정보

가입일: 2008/09/01 월 2:32 pm
글: 23
앞부분까지 자 따라갔는데...

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


여기서 cmake가 깔려있지 않아서 apt-get install cmake 로 cmake를 깔았습니다.
그리고 cmake -DCMAKE_INSTALL_PREFIX=/usr을 치니깐
Attachment:
nateon-1.0-186.png
nateon-1.0-186.png [ 80.97 KiB | 5541 번 봄 ]


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

_________________
시간이 없다는 것은 변명일 뿐....


맨 위로 이동
 

오프라인
글올림: 2008/09/11 목 12:41 am 
회원 아바타
 e-메일  www  개인정보

가입일: 2008/03/31 월 5:47 pm
글: 4732
에러가 나면 마지막 라인 에러 메세지를 보시기 바랍니다.
"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 를....
해보시기 바랍니다.


맨 위로 이동
 

오프라인
글올림: 2008/09/11 목 3:00 am 
회원 아바타
 e-메일  www  개인정보

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

Attachment:
cmake.png
cmake.png [ 18.12 KiB | 5547 번 봄 ]

잘 되는 군요 ^^
Attachment:
fakeroot.png
fakeroot.png [ 20.83 KiB | 5557 번 봄 ]


아 늦었군요 시간이... :?


맨 위로 이동
 

오프라인
글올림: 2008/09/11 목 9:05 pm 
 e-메일  개인정보

가입일: 2008/09/01 월 2:32 pm
글: 23
강분도 님의 글:
$ 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:
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가 이런 거다 하고 알리려고요 ^^



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

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

_________________
시간이 없다는 것은 변명일 뿐....


맨 위로 이동
 

오프라인
글올림: 2009/02/24 화 11:03 pm 
 e-메일  개인정보

가입일: 2009/02/24 화 10:43 pm
글: 10
강분도님의 글을 보고 많이 배우고 있습니다..^^
이번에 네이트온을 컴파일 해보려고 하는데, 마지막에서 막히는군요..

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

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

일단 인스톨 파일에 있는대로,
Code:
$ make
$ sudo make install

하니 설치는 됐는데 말이죠..


맨 위로 이동
 

오프라인
글올림: 2009/02/25 수 12:01 am 
 e-메일  개인정보

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

감사합니다. ^^


맨 위로 이동
 

오프라인
글올림: 2009/02/25 수 12:40 am 
회원 아바타
 e-메일  www  개인정보

가입일: 2008/03/31 월 5:47 pm
글: 4732
namgoon 님의 글:
강분도님의 글을 보고 많이 배우고 있습니다..^^
이번에 네이트온을 컴파일 해보려고 하는데, 마지막에서 막히는군요..

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

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

일단 인스톨 파일에 있는대로,
Code:
$ make
$ sudo make install

하니 설치는 됐는데 말이죠..

dh_make 가 안된 듯 ...
위에 글은 4장이라 앞에 1장 글부터 살펴 해봐야 합니다.
앞에 다른 필요한 거 설치 과정이 있습니다.

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


맨 위로 이동
 

예전 글 보기:  정렬 순서  
새 글타래 올리기 댓글 달기  [ 글: 16 개 ]  페이지 이동 1, 2  다음


접속중인 사람

이 포럼에 접속중인 사람: 가입한 회원 없음, 손님 1 명


이 포럼에서 새 글타래를 올릴 수 없습니다.
이 포럼에서 댓글을 달 수 없습니다.
이 포럼에서 자신의 글을 수정할 수 없습니다.
이 포럼에서 자신의 글을 지울 수 없습니다.
이 포럼에서 파일을 첨부할 수 없습니다.

찾기:
포럼 이동:  
Powered by phpBB © 2000, 2002, 2005, 2007, 2010 phpBB Group  
Design By Poker Bandits  
translated by ubuntu-ko