Cubrid 2008 R2.0 버전 - 우분투에서 SRPM 빌드하기
지난 8월에 2008 R2.0 버전이 새로 나왔다. 64bit 지원과 SRPM 지원이 눈에 띈다.
기존버전은 64bit 환경에 쓰기에는 애매한 부분이 있었다.
그래서 편법(?)으로 쓰기도 했다.(http://blog.1day1.org/312)
Centos(redhat 계열-rpm) 에서 빌드하는 것과 뭐가 다르지?
Centos 에서 cubrid SRPM 빌드를 해봤는데, 별다른 문제없이 빌드가 되었다.
우분투는 기본 패키지는 .deb 이지만, rpm 도 설치가 가능하다.(특이한 설정이 아니라면)
rpm 을 사용하기 위한 패키지를 설치한다. ( 우분투 hardy 버전에서 테스트 했다)
apt-get install rpm
큐브리드도 SRPM 을 제공하기 때문에 우분투에서 빌드해보았다.
rpmbuild --rebuild 를 해보면 사전에 필요한 패키지들이 있다.
elfutils-libelf-devel위 패키지 들에 해당하는 우분투 패키지는
ncurses-devel
libstdc++-devel
glibc-devel
apt-get install libelf-dev libncurses-dev libstdc++6-dev libc6-dev등에 해당한다.
rpm 방식은 체크하는 방식이 차이가 있어서 해당 패키지를 설치해도 계속 에러가 난다.
그래서 SRPM 의 spec 을 수정해서 다시 SRPM 을 만들기로 했다.
SRPM 패키지 우분투용으로 다시 만들자
먼저 srpm 을 설치한다
rpm -ivh CUBRID-8.2.0.1150-el5.src.rpm우분투에서는 /usr/src/rpm 에 rpmbuild 관련 파일,디렉토리가 있다.
SRPM을 설치하면 rpm/SOURCES 에 관련소스가 생기고, rpm/SPECS 에 설정파일이 생긴다.
rpm/SPECS/cubrid.spec 을 열어서
Requires: ncurses위 부분을 주석처리한다. 각 줄의 앞에 # 을 붙여준다.
Requires: libstdc++
BuildRequires: elfutils-libelf-devel
BuildRequires: ncurses-devel
BuildRequires: libstdc++-devel
BuildRequires: glibc-devel
우분투에서는 rpmbuild 시 _sysconfdir 의 위치가 약간 다르게 나타난다.
rpm --eval %{_sysconfdir}해보면 Centos 에서는 /etc 로 나오는데, 우분투는 /usr/etc 로 나온다.
SRPM 빌드 마지막 부분에 이 부분때문에 관련 파일을 찾을 수 없다는 에러가 나온다.
/usr/lib/rpm/x86_64-linux/macros 부분의
%_sysconfdir %{_prefix}/etc를 다음처럼 바꿔준다.
%_sysconfdir /etcSPEC 을 고친후에 SRPM 을 다시 만들어 준다.
rpmbuild -bs rpm/SPECS/cubrid.specrpm/SRPMS/ 에 다시 만든 SRPM 패키지가 생성된다.
이제 SRPM 빌드해도 되나?
준비가 끝났으니 본격적으로 우분투에서 SRPM 빌드를 한다.
rpmbuild --rebuild rpm/SRPMS/CUBRID-8.2.0.1150-el5.src.rpmCentos 와 마찬가지로 JAVA_HOME 설정, ant 등의 빌드시 필요한 패키지를 설치한다.
apt-get install sun-java6-jdk antmake , gcc 등의 개발에 필요한 패키지도 설치되어 있어야한다.(대부분 이미 설치되어 있을듯)JAVA_HOME=/usr/lib/jvm/java-6-sun
PATH=$JAVA_HOME/bin:$PATH:$HOME/binexport JAVA_HOME
export PATH
apt-get install build-essential
최종적으로 rpm 을 만들었는데, 이런에러가.
rpm -Uvh CUBRID-8.2.0.1150-el5.x86_64.rpm아! 나를 반기는 의존성 오류.
오류: Failed dependencies:이미 bash , sh 등이 설치되어 있지만, rpm 에서 체크하는 방식이 달라서 그런듯 하다.
/bin/bash is needed by CUBRID-8.2.0.1150-el5.x86_64
/bin/csh is needed by CUBRID-8.2.0.1150-el5.x86_64
/bin/sh is needed by CUBRID-8.2.0.1150-el5.x86_64
즉, 우분투에서는 설치된 패키지 정보가 rpm 에서 알 수 없어서 그런듯 하다.
일단 의존성 체크 없이 설치한다.
rpm -Uvh --nodeps CUBRID-8.2.0.1150-el5.x86_64.rpm
'알아둘일' 카테고리의 다른 글
qmail 우분투에서 SRPM 빌드하기 (0) | 2009.09.07 |
---|---|
YDN 의 역작! YQL 을 써보자. (5) | 2009.09.02 |
Cubrid 2008 R2.0 버전 - Centos 에서 SRPM 빌드하기 (0) | 2009.08.29 |
qmail 계정관리(vpopmail , qmailadmin) (0) | 2009.08.28 |
메일서버 , qmail 이젠 더 이상 어렵지 않다.(qmail + vpopmail) Centos (0) | 2009.08.27 |
WRITTEN BY
- 1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.