cubrid team mailing list archive
-
cubrid team
-
Mailing list archive
-
Message #00026
RE: ��ġ���/3� ���� :)
ㅋㅋㅋㅋㅋㅋ 대단하십니다!!
빌드 2/3성공한 것도 대단하지만 장문의 메일을 쓰신 것도 대단!!
그리고 amd64에 대한 간곡한 요청도 심금을 울리네요!!
창우님은 예전에 큐브리드 프로젝트에 참여하셨다가… 재미를 못 느끼시고 발걸음을 떼셨습니다만,
그래도 인연/안면을 핑계로 바지 고랑이라도 잡고 매달려 봐야 겠습니다. 흑흑
From: cubrid-bounces+obm=nhn.com@xxxxxxxxxxxxxxxxxxx [mailto:cubrid-bounces+obm=nhn.com@xxxxxxxxxxxxxxxxxxx] On Behalf Of jc k
Sent: Thursday, January 21, 2010 12:49 AM
To: cubrid@xxxxxxxxxxxxxxxxxxx
Subject: [Cubrid] 런치패드 2/3의 성공 :)
런치패드 업로드를 성공했습니다. :)
일단 lpia 에서 빌드를 성공했으니... 현재 빌드 3시간 전인(현재 대기 상태입니다.) i386도 무난히 빌드가 되리라 생각합니다. 3시간 남았으니... 확인하고 자고 싶지만... 내일을 위해... (현재까지 lpia와 i386은 똑같은 에러증상을 보였으며, 오늘 제 시스템에 구축된 pbuilder에서 정상적으로 빌드가 되었습니다. 제 시스템은 i386입니다.) 2/3
그런데...
amd64에서 막히네요. java 문제인데... 자바관련 헤더파일을 찾을 수 없다고 나옵니다. 1/3
checking whether JNI programs can be compiled with -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux... configure: error: Cannot compile a JNI program. See config.log for details.
제가 amd64 cpu가 없어서, 테스트 해 볼 수가 없네요.
amd64 버전 가지고 계신 분이 테스트 해주셨으면 합니다.
(혹시나 해서 하는 이야기지만, amd64 cpu가 장착된 컴퓨터가 갖고 싶습니다. 사주셔도 됩니다. =3 )
아래는 amd64 빌드 로그입니다.
https://edge.launchpad.net/~shriekout/+archive/ppa/+build/1457274/+files/buildlog_ubuntu-karmic-amd64.cubrid_8.2.1.0215-0ubuntu0_FAILEDTOBUILD.txt.gz
일단 컴파일과 관련된 두가지를 보여드리겠습니다.
debian/rules :
./configure --with-jdk=/usr/lib/jvm/default-java --with-libedit=/usr --with-lzo2=/usr --with-pcre=/usr --with-gc=/usr 'CFLAGS=-I/usr/include/libelf -I/usr/include'
debian/control :
Build-Depends: debhelper (>= 7.0.50), autotools-dev, default-jdk, ant, libncurses5-dev, libelfg0-dev, libedit-dev, liblzo2-dev, libpcre3-dev, libgc-dev
두가지 꼼수를 사용했습니다.
1. 일단 external 디렉토리 안에 있는 것은 사용하지 않았습니다.
현재 우분투에 제공된 최신버전을 사용했습니다. configure 변수 중 --with가 붙은 변수들입니다.
2. configure의 CFLAGS 변수를 보시면, 우선 참조해야할 헤더파일 목록에 /usr/include/libelf 를 넣었습니다.
그리고, debian/control 의존성에 libelf-dev 대신 libelfg0-dev 를 넣었습니다.
external 디렉토리 안에 있는 libedit를 사용하지 않고, 우분투에서 제공하는 최신의 libedit-dev를 사용했는데, 이 녀석이 libbsd-dev와 의존 관계에 있더군요. 문제는 libbsd-dev가 libelf-dev와 충돌(?)을 일으켜서, nlist를 우리가 흔히 알고 있는 증상적인 방법으로 사용할 수 없습니다. 구조체 nlist의 정의를 /usr/include/a.out.h 에서 정의된 것을 불러오는데, 현재 소스로는 n_name는 nlist의 멤버가 아닙니다. 그래서 libelfg0-dev를 깔았습니다. 이 녀석은 /usr/include/libelf 디렉토리 안에 nlist.h 를 우리가 알고 있는 방법으로 정의하고 있습니다. 그래서, 일단 /usr/include/libelf 를 먼저 참조하도록 CFLAGS 변수를 셋팅했습니다.
사실 꼼수는 아닙니다. 사용하라고 주어진 옵션이니... ;)
위에서 언급한 libbsd-dev와 libelf-dev 문제에 대해 메일을 보냈는데, 큐브리드 메일링 리스트에 올라가지 않는군요.
메일이 없어진 건지, 아니면 메일링 등록에 시간이 걸리는 것인지 모르겠습니다. 오후 8시경 보냈는데, 현재 12시 22분까지 올라오고 있지 않습니다. 굳이 따로 적지는 않겠습니다. 귀찮...
내일 퇴근하는데로 아쉽지만 amd64는 실패한 상태로 큐브리드에 올리겠습니다.
참고로 빌드된 걸 먼저 보시고 싶으신 분은 제 런치패드 ppa에 방문하시면 됩니다.
https://launchpad.net/~shriekout/+archive/ppa
이제 패키징에 대해서는 두가지가 남은 것 같습니다.
amd64에서 빌드 성공하기와 debian/watch 파일을 만드는 겁니다.
그리고, 옵션으로 데비안 패키징 문법 검사에 통과하고(이 문제는 큐브리드 소스상의 문제라 큐브리드 개발자님들께서 위에 링크된 로그를 참고 하시기 바랍니다.), make distclean 정상 작동문제(이것도 패키징에 영향을 미치지만, 개발자 분들이 수고하셔야겠네요), 그리고 패키징이 좀더 많은 정보를 담을 수 있게 패키징에 필요한 정보 파일들을 복구하는 것(옵션적인 문제라 사실 있어도 그만 없어도 그만, 현재 상태에서는 대충 구색은 갖추어졌습니다), 그리고, debian/copyright 파일을 검토하는 것 정도 되겠습니다.
우분투 메인에 넣기 위한 작업은...
현재 한국에는 우분투 motu가 없는 관계로 http://revu.ubuntuwire.com 에 올려서 리뷰를 부탁하는 수밖에 없습니다. 물론 motu에게 홍보를 하는 것도 필요하겠죠.
전에 데비안에 들어있는 것이 우분투에 드러가기가 쉽다고 하셨는데, 데비안에 드러가는 것도 우분투에 들어 있는 것이 쉽습니다.
한 쪽에 들어 있으면, 다른 쪽에 싱크를 요청하면 점검해서 넣어주니깐요.
그리고, 문법이나 이런 부분과 데비안에 넣는 부분은 창우님과 연락이 닿는다면 부탁하는 것이 좋을듯 한데요.
창우님이 현재 데비안 메인테너시며, 한국에서 몇 안되는 분들 중에 현재 활동하고 계시는 분이니... (이런 현실이 좀 안타깝기도 합니다.)
일단 저는 한숨 돌리며, 큐브리드 소스가 있는 자료실 http://dev.naver.com/projects/cubrid/download 구조를 좀 알았으면 합니다.
debian/watch 파일을 작성하기 위해 필요한 작업인데요.
참고로, 아래는 제가 현재 motu에게 리뷰를 부탁하고 있는 해피타이머의 debian/watch 파일의 내용입니다.
version=3
opts=filenamemangle=s/.*filename=(.*)/$1/,downloadurlmangle=s/\/projects\/happytimer\/download\/([0-9]+).*/\/frs\/download\.php\/$1/ \
http://kldp.net/projects/happytimer/download /projects/happytimer/download/[0-9]+\?filename=happytimer-(.*)\.tar\.gz
아... 깜빡했군요.
큐브리는 기본으로 사용자 디렉토리에 설치하게 되어 있지만, 패키징을 하면서 /opt/cubrid 디렉토리를 기본으로 뒀습니다.(현재 패키징된 rpm을 참고 했습니다.)
그래서, http://dev.naver.com/projects/cubrid/wiki/cubrid_on_ubuntu9 에 있는 실행방법 중
환경설정에서...
export CUBRID=/opt/cubrid
export CUBRID_DATABASES=$CUBRID/databases
export CUBRID_LANG=en_US
export PATH=$CUBRID/bin:$PATH
export LD_LIBRARY_PATH=$CUBRID/lib:$LD_LIBRARY_PATH
export CLASSPATH=$CUBRID/jdbc/cubrid_jdbc.jar:$CLASSPATH
를 하시면 됩니다.
물론 실행은 루트상태에서 진행하셔야 하고, db는 자신의 홈에 설치하신다면, db 억세스는 개인 계정으로 할 수 있으리라 생각합니다. (사실 테스트는 안해봤습니다.)
모두 즐거운 시간되시길 바라겠습니다. :)
누가 amd64 cpu가 있는 컴퓨터를 사주실건가요? ;)
References