'우분투'에 해당되는 글 4건

  1. 2009.11.25 ubuntu에 OpenCV 2.0 설치하기.
  2. 2008.04.13 Thunderbird에서 주소록 공유를 위한 LDAP
  3. 2007.10.10 Ubuntu에 EZ-X5 크로스컴파일 환경 만들기
  4. 2007.09.06 내가 쓰는 노트북 환경

ubuntu에 OpenCV 2.0 설치하기.

|
설치할 일이 생겨서 필요한 사람 있으면 참고 할 수 있도록 작업하면서 한번 적어본다.
저장소에 있거나 deb패키지가 돌아다닐 줄 알았는데, 아직 없다. OpenCV sourceforge에 가보면 2.0이 2009.10.01에 올라온 것으로 보인다.
이 글은 ubuntu 9.10버젼과 OpenCV 2.0 버젼을 기준으로 적혔다.

1. 필요한 패키지를 설치한다.
sudo aptitude install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev build-dep libswscale-dev swig

2. 패키지 설치할 동안 OpenCV를 다운받아놓는다.

2.0 : http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.0/
다른 버젼을 원한다면 아래 들어가서 다운받으면 된다. 하지만 이 글과 똑같이 설치가 될지는 보장하지 못한다.
http://sourceforge.net/projects/opencvlibrary/files/opencv-unix

링크에 들어가서 다운받기 귀찮아서 wget으로 다운받으려면,
wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.0/OpenCV-2.0.0.tar.bz2?use_mirror=cdnetworks-kr-1
이 링크는 나중에 바뀔 수도 있기때문에 안받아지면 위 소스포지 링크로 들어가서 다운받으면 된다.

3. 이제 압축을 풀자.
tar jxvf OpenCV-2.0.0.tar.bz2
4. ffmpeg 링크를 만들어준다.
sudo mkdir /usr/include/ffmpeg
sudo ln -s /usr/include/libavcodec/avcodec.h /usr/include/ffmpeg/avcodec.h
sudo ln -s /usr/include/libavformat/avformat.h /usr/include/ffmpeg/avformat.h
sudo ln -s /usr/include/libavformat/avio.h /usr/include/ffmpeg/avio.h
sudo ln -s /usr/include/libavutil/avutil.h /usr/include/ffmpeg/avutil.h
sudo ln -s /usr/include/libswscale/swscale.h /usr/include/ffmpeg/swscale.h
5. configure 해주고 make, make install해준다.
cd OpenCV-2.0.0
./configure --prefix=/usr/local/opencv --enable-apps --enable-shared --enable-swscale --enable-gpl --with-swig
make && sudo make install

6. 시스템에 OpenCV 라이브러리를 설정해준다.

/etc/ld.so.conf.d/opencv.conf 파일을 만들고, 내용에 /usr/local/opencv/lib 를 적어준다.
sudo vi /etc/ld.so.conf.d/opencv.conf
/usr/local/opencv/lib
/etc/environment에 환경변수 설정을 해준다.
PKG_CONFIG_PATH="/usr/local/opencv/lib/pkgconfig"
PYTHONPATH="/usr/local/opencv/lib/python2.6/site-packages/opencv"
물론 위 변수가 딴곳에 설정되어있으면, 값을 보고 다르다면, 아래와 같이 설정한다.
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opencv/lib/pkgconfig"
PYTHONPATH="$PYTHONPATH:/usr/local/opencv/lib/python2.6/site-packages/opencv"
/etc/environment를 건드리기 싫다면, /etc/bash.bashrc 같은 곳에 export로 설정해도 상관없다.

이로써, 설치가 끝났다. 이제 사용하면 된다.
저작자 표시 비영리 동일 조건 변경 허락
신고
Trackback 1469 And Comment 0

Thunderbird에서 주소록 공유를 위한 LDAP

|
LDAP란 Lightweight Directory Access Protocol로 디렉토리를 외부에서 접근하긴위한 프로토콜중 하나이다.
  참고1  참고2  참고3  참고4

많은(거의 모든) 부분을 참고2와 참고3에서 가져왔음을 밝힌다.

ubuntu에서 쓰기 위해서는 slapd, ldap-utils, db4.2-util를 설치하여야한다.
우분투에서는 KDLP에서 명시된대로 일일이 받아줄 필요가 없다. apt가 있는 것이다!+_+
sudo aptitude install slapd ldap-utils db4.2-util
설치해보면 root비밀번호를 설정해주는 과정이 있다. 설정한다.
원래 /etc/ldap/slapd.conf에 root패스워드를 적는 란이 있었는데 지금 버젼에는 없다. 설치할 설정한 것이 어디에 저장되는지도 알 수 없다.
모르기에 /etc/ldap/slapd.conf에 root패스워드를 추가해줬다.

꼭 vi가 아니더라도 원하는 텍스트 편집기 가지고 rootpw부분을 추가해주면 된다.
sudo vi /etc/ldap/slapd.conf
/etc/ldap/slapd.conf에 보면 The base of your directory in database #1 에 suffix 를 설정하는 곳이 있다. 이곳에 자신에 맞는 설정으로 고친다. rootdn을 적어 놓은 곳도 주석을 풀고 자신에 맞게 고친다. 대부분 자동으로 작성 된다.
slappasswd
New password:
Re-enter password:
{SSHA}변환된값
여기서 나온 결과값을 rootdn아래 rootpw를 만들고 뒤에 적어넣는다. 물론 {SSHA}포함이다.

그리고 /etc/ldap/ldap.conf를 편집한다.
sudo vi /etc/ldap/ldap.conf
여기에는
BASE dc=example,dc=com
의 주석을 풀어주고 자신에게 맞는 값으로 고쳐준다.
sudo /etc/init.d/slapd restart
을 해줘서 설정을 적용시킨다.

지금부터는 주소록을 위해 작업한다. 주소록을 위해 mozillaorgperson 관련 설정을 해야한다. /etc/ldap/schema/mozillaorgperson.schema 파일을 만들자.
sudo vi /etc/ldap/schema/mozillaorgperson.schema
아래 내용을 붙여넣는다.

more..

그리고 /etc/ldap/slapd.conf파일을 열고 편집한다.
sudo vi /etc/ldap/slapd.conf
참고 3을 보면
include /etc/ldap/schema/nis.schema
를 찾아 다음으로 바꿔주라고 되어있다. 하지만 nis.schema가 빠지면 slapd를 시작할때 실패한다. 덕분에 설정 틀린 곳 찾느라고 고생했다. nis.schema를 그대로 두고 아래를 추가해준다.
include /etc/ldap/schema/mozillaorgperson.schema
이제 다시 시작해 설정을 적용시킨다.
sudo /etc/init.d/slapd restart


기본적인 설치는 여기까지.
하지만 제대로 사용을 하려면 설정을 조금 많이 고쳐줘야한다.
설정에 관해서는 좀더 공부해봐야할 것 같다. 오늘은 여기까지.
신고
Trackback 1260 And Comment 0

Ubuntu에 EZ-X5 크로스컴파일 환경 만들기

|
우분투에서 EZ-X5를 다루기 위해서 툴을 설치하는 과정이다.
지금 직접 하면서 하나하나 과정을 적어 나가겠다.
sudo aptitude install build-essential libncurses5 libncurses5-dev kernel-package fakeroot minicom lrzsz
필요한 패키지를 깔아준다. 위에 언급한 패키지 외에도 필요한 패키지가 있으면 깔아준다.

1.
armv5l용 binutils 설치
먼저 binutils-2.13.90.0.16.tar.gz를 다운받아서 gcc-3.2.1-oerlikon.patch로 패치한다.

tar zxvf binutils-2.13.90.0.16.tar.gz
patch -p1 < binutils-2.13.90.0.16-oerlikon.patch
binutils버젼중 저 버젼을 받은 것은 falinux에서 준 CD에 들어있는 버젼이라서이다.
나는 컴파일시 에러로 2.18버젼을 받아서 압축을 풀었다.
tar zxvf binutils-2.18.tar.gz
다른 버젼을 원하면 'http://ftp.gnu.org/gnu/binutils/'에서 받을 수 있다.그 다음은 압축풀린 폴더로 가서 configure을 해준다.
cd binutils-버젼
./configure --target=armv5l-linux --prefix=/usr --with-cpu=xscale --nfp
그리고 컴파일 후 설치한다.
make
sudo make install
그 후 /etc/enviroment에 PATH를 추가해준다.
sudo vi /etc/enviroment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/armv51l-linux/bin"

2. armv5l용 gcc설치

gcc-3.2.1.tar.gz을 다운받아서 압축을 풀고 gcc-3.2.1-oerlikon.patch로 패치한다.
tar zxvf gcc-3.2.1.tar.gz
patch -p1 < gcc-3.2.1-oerlikon.patch
몇가지 수정이 필요한 파일이 있다. 수정을 한다.
perl -pi -e 's/^(TARGET_LIBGCC2_CFLAGS.*)/$1 -Dinhibit_libc -D__gthr_posix_h/' gcc/config/arm/t-linux
echo 'T_CFLAGS = -Dinhibit_libc -D__gthr_posix_h' >> gcc/config/arm/t-linux

위 버젼이 아닌 다른버젼을 받아도 된다. 'ftp://ftp.gnu.org/gnu/gcc'에 가면 다른버젼을 받을 수 있다. linux kernel버젼 2.6을 쓴다면 3.4버젼으로 컴파일 할것을 추천하고 linux kernel2.4버젼을 쓴다면 3.3이하 버젼을 써야 한다.
configure 을 해준다.
./configure --target=armv5l-linux --prefix=/usr --with-headers=/보드용 커널 위치/linux/include --disable-shared --disable-threads --enable-languages="c" --nfp --with-cpu=xscale --without-fp --with-softfloat-support=internal
컴파일러가 4.x대이면 Makefile에서 3.x버젼으로 수정하여야한다.
vi Makefile
CC=gcc-3.x
컴파일하고 설치한다.
make
sudo make install
make하면 에러 나는데 임시 해결방법은 '--with-headers=/home/junichel/src/tools/linux/include' 를 제거하고 설치하면 된다.

3. armv5l용 glibc 설치
glibc-2.3.2.tar.gz와 glibc-linuxthreads-2.3.2.tar.gz를 다운받아 같은 폴더에 압축을 푼다.
tar zxvf glibc-2.3.2.tar.gz
tar -C glibc-2.3.2 -zxf glibc-linuxthreads-2.3.2.tar.gz
폴더로 들어가 configure한다.
mkdir build
cd build
../glibc-2.3.2/configure armv5l-linux --build=i686-pc-linux-gnu --with-headers=/보드용 커널 위치/linux/include --enable-add-ons --enable-shared --prefix=/usr/armv5l-linux --with-cpu=xscale --without-fp --enable-kernel=2.4.19
glibc-2.3.2/include/libc-symbols.h 를 수정한다.
vi glibc-2.3.2/include/libc-symbols.h
내용중
__make_section_unallocated ("__libc_freeres_ptrs, \"aw\", @nobits") \
를 찾아서
__make_section_unallocated ("__libc_freeres_ptrs, \"aw\", %nobits") \
로 고친다.
glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h 를 수정한다.
vi ../glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
내용중
ENTRY (name)
을 찾아
ENTRY (name);
으로 고친다.

vi ../glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
컴파일 하고 설치한다.

make
sudo make install
아직 다 못잡았다.

4. 커널 컴파일
커널을 풀고, 설정한다.
make ez-x5_config
make oldconfig
make menuconfig
make dep
gcc버젼에 따라 약간의 수정이 필요하다.
vi ./arch/arm/Makefile
아래를 찾아
CFLAGS_BOOT     :=$(arch-y) $(tune-y) -mshort-load-bytes -msoft-float
CFLAGS +=$(arch-y) $(tune-y) -mshort-load-bytes -msoft-float
AFLAGS +=$(arch-y) $(tune-y) -mno-fpu -msoft-float
이와 같이 고친다.
CFLAGS_BOOT     :=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
CFLAGS          +=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
AFLAGS          +=$(apcs-y) $(arch-y) -msoft-float

커널을 컴파일한다.

make zImage
만약  hardware FP관련 에러가 난다면 ./arch/arm/Makefile에서 -mno-fpu 와 -msoft-float 도 빼 줘야 한다.
ㅠㅠ 아직 에러때문에 헤메고 있다.
에러는 하나씩 하나씩 나타난다.

5. 대안
falinux에 가보면 레드헷이나 페도라용으로 rpm패키징 된 것이 있다. 압축 풀어서 usr에 덥어씌우고 PATH지정하면 잘 된다.
몇일 동안 한 삽질은?!! -바보인 것인가?


신고

'장난질' 카테고리의 다른 글

MD5 닉네임 배틀  (0) 2007.10.18
재미있는 퍼즐게임 - Bloxorz.  (0) 2007.10.11
Ubuntu에 EZ-X5 크로스컴파일 환경 만들기  (0) 2007.10.10
소수 구하기  (0) 2007.09.28
귓속말 전달하기 게임.  (0) 2007.09.12
내가 쓰는 노트북 환경  (0) 2007.09.06
Trackback 0 And Comment 0

내가 쓰는 노트북 환경

|
일단 노트북을 소개하자면 아래와 같다.

사용자 삽입 이미지
LG Z1-a720k


Intel Core2 Duo T7200 2.0GHz
SDRAM 2G
ATI RADEON MOBILITY 1350
Wireless : 3945ABG
Wire : et131x


3월 말쯤에 샀는데 기본으로 vista가 깔려있더라.
원래 데스크탑에서 우분투와 젠투, MS에서 받았던 윈도우 2003 서버을 깔아놓고 쓰던지라.
여기도 일단 듀얼 부팅이 되도록 우분투를 깔았다. 편하게도 비스타 자체에서 파티션의 크기 조절이 가능하더라.
일단 설치하고나니 이번에는 유선이 문제더라. 무선은 자동으로 잡던데.
(기억이 정확한지 의심가지만 이것도 edgy쓸때는 힘들여서 잡았던 것으로 기억한다. )

거기다가 그래픽카드문제로 그놈이 안뜨더라.
일단 받아놨던 모듈 컴파일 해서 유선 잡고나서 드라이버 받고 X설정하고나니 뜨긴 하는데, 데스크탑에서 Xgl에 beryl(지금은 compiz를 쓰지만 그 때 당시에는 beryl을 썼었다.)에 익숙해져있던터라 거기에 맞춰 노트북도 Xgl에 compiz를 깔아서 썼다.

64bit용을 쓰는 터라 Avant Window Navigator를 컴파일해서 깔아줬다.
거기에 wine으로 ie6를 깔아서 인터넷 뱅킹을 해결했었다.
하지만 지금은 virtualbox를 깔아서 거기에 윈도우를 깔아놓고 작업공간 한군데 띄워놓고 편하게 쓴다. 

현재 환경을 종합하자면

비스타, 우분투(gutsy, 64bit) 듀얼부팅.
Xgl+Compiz, virtualbox. Avant Window Navigator
사용자 삽입 이미지
사용자 삽입 이미지

신고
Trackback 0 And Comment 0
prev | 1 | next

티스토리 툴바