2013년 2월 21일 목요일

Cent OS 5.9에서 MeCab 및 mecab-ko-dic 설치하기

 주로 Ubuntu 12.10에서 작업과 테스트를 했는데, Cent OS 5.9에서 테스트 해보니, 설치가 쉽지 않네요. Cent OS 5.9가 gcc와 autotools 버전이 낮아서 생기는 문제로 생각됩니다. 삽질 끝에 설치 방법 올립니다. 참고로 Cent OS 6.3에서는 별 문제 없이 MeCab 및 mecab-ko-dic 설치가 가능합니다.

MeCab 설치

일단, Cent OS 5.9의 기본 gcc에서는 다음과 같은 에러를 내면서, 컴파일이 안됩니다.
libtool: link: g++ -O3 -Wall -o .libs/mecab mecab.o  ./.libs/libmecab.so -lpthread -lstdc++ -Wl,-rpath -Wl,/usr/local/lib
./.libs/libmecab.so: undefined reference to `__sync_val_compare_and_swap_4'
collect2: ld returned 1 exit status
make[2]: *** [mecab] 오류 1
...
검색을 좀 해보니, 그냥 gcc 버전을 올리는 것이 답인 듯 하여, 다음과 같이 gcc 4.4.7을 설치 하였습니다.
# yum install gcc44 gcc44-c++
이후, 다음과 같이 컴파일 및 설치를 진행하시면 잘됩니다.
$ cd mecab-0.994
$ ./configure CXX=g++44
$ make
# make install

mecab-ko-dic 설치

mecab-ko-dic도 autotools의 버전 문제로 ./configure가 안됩니다. 다음과 같이 autoreconf로 configure 파일을 다시 작성하신 후 설치하시면 됩니다.
$ tar xvzf mecab-ko-dic-1.1.2-20130219.tar.gz
$ cd mecab-ko-dic-1.1.2-20130219
$ autoreconf -vi
$ ./configure
$ make
$ make install

댓글 7개:

  1. ./configure: line 1696: syntax error near unexpected token `mecab-ko-dic,'
    ./configure: line 1696: `AM_INIT_AUTOMAKE(mecab-ko-dic, 2.0.0)'


    How to solve this?


    답글삭제
    답글
    1. Did you solve the problem?
      I want to know how

      삭제
    2. 혹시 이 에러 해결하셨나요? 저는 여전히 해결못했는데... 아시면 꼭 알려주셧으면 좋겠습니다.

      삭제
    3. $ ./autogen.sh
      $ make
      $ make install

      순으로 해보세용

      삭제
    4. 오! 해결했습니다. 정말 감사드립니다~

      삭제
  2. 작성자가 댓글을 삭제했습니다.

    답글삭제