ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [linux/ubuntu] mecab-ko-dic을 설치하기 위해 고군분투한 일(..)
    Programming (Others)/각종 에러 해결 일지 2021. 5. 29. 18:38

    나중에 내가 까먹었을 때 참고하려고 올리는 글


    자연어 처리를 실습하려 mecab-ko를 설치하다 (정확히는 사전) automake가 없어 설치가 되지 않는 문제가 발생하였다.

    mecab-ko-dic-2.1.1-20180720/missing: 줄 52: automake-1.11: 명령어를 찾을 수 없음 WARNING: `automake-1.11' is missing on your system. You should only need it if you modified `Makefile.am', `acinclude.m4' or `configure.ac'. You might want to install the `Automake' and `Perl' packages. Grab them from any GNU archive site.


    구글링을 해 보니 automake를 설치하려면,
    M4 → autoconf → automake 순서로 설치를 진행해야 한다고 한다.
    즉... M4와 autoconf를 먼저 설치해야 한다는 것..
    그래서 열심히 위의 라이브러리들을 설치했는데...

    더보기

    1. M4 설치

    http://ftp.gnu.org/gnu/m4

    에 들어가서 파일을 다운로드 받는다. 나는 그냥 최신 버전(m4-latest.tar.gz)을 다운로드 받았다.

    그 후 압축을 풀고 설치를 진행한다. 다음과 같은 명령어를 순차적으로 진행해준다.

    tar xvfz m4-latest.tar.gz cd m4-1.4.18 ./configure make su make install

    여기서 나 같은 경우 make에서 에러가 났다.

    error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib."

    대충 freadahead.c파일에 문제가 생겼다는 것 같은데, 무슨 말인지 모르겠으나 얼른 또 구글링을 해 보았다 (구글링의 삶..)

    그리고 고마운 분이 원인을 분석해 주셨다. (참고) 현재 리눅스에 설치된 GCC와 해당 코드가 호환이 되지 않아서...그런 것 같다.

    여기에 안내된 대로 해당 파일들의 코드를 수정해주면 된다.

    그랬더니 성공적으로 설치 완료!

    2. autoconf 설치

    http://ftp.gnu.org/gnu/m4/

    에서 파일을 다운로드 받은 후, M4 설치와 똑같이 설치를 진행해준다. 역시 이것도 그냥 최신 버전(autoconfig-latest.tar.gz)을 다운 받았다.

    tar xvfz autoconfig-latest.tar.gz cd autoconfig-2.71 ./configure make su make install

    이건 에러가 뜨지 않아 좋았다....

    3. automake 설치

    http://ftp.gnu.org/gnu/automake/

    에서 파일을 다운로드 받는다. 나는 1.11버전이 필요해서 이 버전으로 설치를 진행했다.

    tar xvfz automake-1.11.6.tar.gz cd automake-1.11.6 ./configure make && sudo make install // 이렇게 해도 된다.

    참고가 된 블로그

    http://blog.naver.com/PostView.nhn?blogId=realmass&logNo=10159484988



    그러나... 이번엔 전혀 예상치 못한 문제가 뜨고 마는데.
    mecab-ko-dic의 압축을 푼 폴더에서 ./configure까지는 잘 작동하나. make을 입력했더니 다음과 같은 오류가 떴다.

    autoreconf: running: aclocal main::scan_file() called too early to check prototype at /usr/bin/aclocal-1.11 line 644. ... aclocal-1.11: couldn't open directory '/usr/local/share/aclocal': no such file or directory.


    이게 무슨 일이고..... 해서 구글링도 해보고 난리(?)를 쳤지만 명확한 해답은 얻지 못했다...흑흑
    결국 삽질을 몇 시간.... 그리고 날을 바꿔서 해보고...
    계속 그러다가 어떤 사이트에서 automake-1.11.2 부터는 ubuntu에서 timestamp(?)가 맞지 않는 일이... 생긴다고 하기에 (사실 나도 뭔 말인지 모르겠다^^) 기존에 깔아둔 1.11.6 버전을 삭제하고 새로 구버전을 설치해보기로 하였다

    그런데 이게 무슨 일..? make uninstall 명령어가 먹질..않는다..^^...
    m4는 sudo apt-get --auto-remove remove로 삭제를 완료했고, 그 과정에서 autoconfig도 삭제가 된 것 같았으나(사실 얘도 폴더가 계속 남아있어 확실하게 제거되었는지는 모름), automake는 끝까지 지워지질 않았다.

    Linux(Ubuntu)에서 외부 설치 파일은 /usr/local 디렉토리 아래에 무조건 설치가 된다고 한다.
    그래서.... 마지막 수정 시간을 참고하여.. 직접 해당 폴더에 root권한으로 들어가서 지웠당,,^^
    그리고 automake를 깔기 전 혹시나 해서 m4, autoconfig, automake 다 안 깐 상태로 mecab-ko-dic을 설치해봤는데...

    띠용? 설치가 된다.

    mecab-ko-dic-2.1.1-20180720/missing: 줄 52: automake-1.11: 명령어를 찾을 수 없음 WARNING: `automake-1.11' is missing on your system. You should only need it if you modified `Makefile.am', `acinclude.m4' or `configure.ac'. You might want to install the `Automake' and `Perl' packages. Grab them from any GNU archive site.

    물론 위의 이 경고문구는 그대로 유지가 되었지만.. 이전에는 설치 실패라고 떴던 반면, 이번에는 대놓고 done! 이라는 문구가 뜨더라...
    내가 몇시간동안 뭘 한거지..? 싶었음..ㅎㅎ
    쨌든 그래도 설치가 잘 되어서 다행이고, 리눅스 관련 여러 지식들을 알아 가는 유익한 시간이었다.

    역시 프로그래머는 삽질로 성장하나보다. 내 꿈은 개발직이 아니긴 하지만

    댓글

Life is hard, so am I