Creative Commons License

CentOS 5.2에서 cmake Source RPM으로 설치하기 IT



Purewell.BIZ : CentOS 5.1에서 cmake Source RPM으로 설치하기

CentOS 5.1(i386)에서 cmake 2.4를 잘 설치했다. 그런데 CentOS 5.2(x86_64)에 cmake 2.6.x 를 예전 방식으로 설치하려니까 뜬금 없이 cmake를 빌드하는 곳에서 "QT qmake not found" 라고 하면서 빌드 실패 떨구네. 헐~ 'rpmbuild -bb cmake.spec'만 한 것이라 왠만한 의존성은 RPM이 알아서 오류를 미리 내뿜어줄텐데 그것도 아니고... qt4-devel 패키지도 잘 깔려 있지 말이지. 그나저나 qmake는 뭐래... 혹시나 해서 찾아봤더니 '/usr/lib64/qt4/bin/qmake'가 있네. 설마 PATH에 없다고 그런 건 아니겠지? 참고로 이하 root 계정으로 실행이다.
$ export PATH=$PATH:/usr/lib64/qt4/bin
$ rpmbuild -bb cmake.spec
blarblar...
+ desktop-file-install --delete-original --dir=/var/tmp/cmake-2.6.0-1-root-root/usr/share/applications /var/tmp/cmake-2.6.0-1-root-root//usr/share/applications/CMake.desktop
Must specify the vendor namespace for these files with --vendor
error: Bad exit status from /var/tmp/rpm-tmp.96188 (%install)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.96188 (%install)


한 번에 안 되는고만... 일단 qmake는 PATH 때문인 것 같고, 이번 문제는 'desktop-file-install'이라는 이상한 실행파일이 --vendor라는 옵션을 요구하는데 안 해준 것 같다. CMakeLists.txt 파일 고치기 귀찮은데... PATH 해결한 것 정도의 꽁수가 필요해. 어떻게 하면 좋을까나. alias 먹여볼까?

$ alias desktop-file-install='desktop-file-install --vendor=""'
$rpmbuild -bb cmake.spec
blarblarblar...
벤더없음 꿹!

안 먹는군. 그럼 '.bashrc'에 alias를 먹여볼까? 위 alias 구문을 ~/.bashrc에 살째기 덧붙이고 rpmbuild... 아흥~ 그래도 안 된다. 눈물을 머금고 spec 파일을 발라당 까뒤집어 보자... 대충 cmake.spec 파일에 desktop-file-install 구문이 있는데, 대충 --vendor옵션을 껴넣고 리빌드...

(생략)
desktop-file-install --delete-original --vendor='' \
--dir=%{buildroot}%{_datadir}/applications \
%{buildroot}/%{_datadir}/applications/CMake.desktop
(생략)

앗싸! 성공!


결론: PATH 잡아주고, cmake.spec 파일 살짝 수정해주면 된다.

덧글

  • 경진 2008/07/22 16:17 # 삭제

    마지막 결론만 보면 되겠군요-_-;;

    삽질의 과정이 너무 거대해 보임 ㅋㅋ
  • 샘이 2008/07/22 16:18 #

    삽질 없는 결론을 만들고 싶었지만...
  • ydhoney 2008/08/18 09:38 #

    아니 rpm.pbone.net 에서 찾아보니 atrpms 에 rhel3/4/5용 32bit/64bit rpm 패키지 있잖나요. -_-; 없는줄 알고 겁먹었네;; 도대체 왜 이런 삽질을 하는 -_-;
  • ydhoney 2008/08/18 09:42 #

    아..cmake 2.6.x 대가 필요해서 이렇게 하신건가? =ㅅ=;;
  • 샘이 2008/08/19 10:18 #

    그렇지요. -_- 이왕 쓸꺼 최신 버전 써보고 싶은 마음에... 훌쩍...
    cmake-2.6.1은 qt4를 RHEL5.2 정규로 제공하는 것보다 높은 버전(4.3.0)을 요구하여, 위보다 강도 높은 삽질이 필요합니다. (결국 컴팔햇다능~ 64bit용이라능~)
  • 개미 2008/09/11 16:14 #

    앗... CentOS cmake 검색을 구글신께 하니 이쪽을 알려주는군요. ㅎㅎ;;;

    http://kldp.org/node/97832#comment-458358

    에서 링크 걸었어요~ :-)
  • 샘이 2008/09/11 16:17 #

    * ㅂ*) 구글신의 상위랭크에 제가 있단 말씀?
  • 아이쿠 2008/09/13 22:53 # 삭제

    CentOS에서 네이트온 깔려고 하다 kldp에서 링크가 있어 들어왔습니다.
    고생많이 하셨습니다.
    저도 컴파일을 통해서 설치를 해보고 싶어서 cmake소스를 받아서 설치했는데 2.6.1이군요.
    이거 버전이 높아서 안되는가 잘 모르겠네요.
    다른건 rpm설치하고 그랬는데...

    [root@localhost nateon-1.0]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/nateon
    -- Found Qt 3: /usr/lib/qt-3.3/lib/libqt-mt.so
    -- Looking for include files CMAKE_HAVE_PTHREAD_H
    -- Looking for include files CMAKE_HAVE_PTHREAD_H - found
    -- Looking for pthread_create in pthreads
    -- Looking for pthread_create in pthreads - not found
    -- Looking for pthread_create in pthread
    -- Looking for pthread_create in pthread - found
    -- Didn't find KDE3 headers
    -- Didn't find KDE3 core library
    -- Didn't find the KDE3 dcopidl preprocessor
    -- Didn't find the KDE3 dcopidl2cpp preprocessor
    -- Found KDE3 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler
    CMake Error at cmake/FindKDE3.cmake:258 (MESSAGE):
    Could NOT find everything required for compiling KDE 3 programs
    Call Stack (most recent call first):
    CMakeLists.txt:17 (find_package)


    CMake Warning (dev) in CMakeLists.txt:
    No cmake_minimum_required command is present. A line of code such as

    cmake_minimum_required(VERSION 2.6)

    should be added at the top of the file. The version specified may be lower
    if you wish to support older CMake versions for this project. For more
    information run "cmake --help-policy CMP0000".
    This warning is for project developers. Use -Wno-dev to suppress it.

    -- Configuring done
    [root@localhost nateon-1.0]#
  • 샘이 2008/09/17 11:07 #

    잘은 모르겠지만, cmake가 원인이 아니라, KDE관련 헤더/라이브러리를 찾지 못하는 것 같습니다.
  • 개미 2008/09/17 11:18 #

    안녕하세요. :-)
    저는 리눅스 네이트온 프로젝트를 관리하고 있습니다.
    샘이님이 연락을 주셔서 답글을 달게 되었습니다~

    -- Didn't find KDE3 headers
    -- Didn't find KDE3 core library
    -- Didn't find the KDE3 dcopidl preprocessor
    -- Didn't find the KDE3 dcopidl2cpp preprocessor
    -- Found KDE3 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler
    CMake Error at cmake/FindKDE3.cmake:258 (MESSAGE):
    Could NOT find everything required for compiling KDE 3 programs
    Call Stack (most recent call first):
    CMakeLists.txt:17 (find_package)

    제가 보기에는 KDE3 관련 kdelibs 같은 것이 안깔려 있어서 에러가 나는것 같습니다.
    INSTALL파일에서 요구사항을 한번 확인해 보시고 다시 설치를 해보시겠습니까?

    그리고 소스에있는 CMakeLists.txt 파일을 보시면

    cmake_minimum_required(VERSION 2.6)

    내용이 있습니다.

    이건 선언을 하라는 권고안을 따른것이니, (2.6버전이 있어야만 컴파일 되는게 아닙니다. ㅎㅎ)
    이것이 문제가 되면 다음과 같이 주석처리를 하시고 컴파일을 진행 하시면 될 것 같습니다.

    # cmake_minimum_required(VERSION 2.6)

    마지막으로,
    해당 내용이 "CentOS에서 cmake 설치" 와는 좀 벗어난것 같은 느낌이 듭니다.
    리눅스 네이트온 프로젝트 (http://kldp.net/projects/nateon)의 help 게시판 (http://kldp.net/forum/forum.php?forum_id=4025)을 이용해 주시면 고맙겠습니다~ :-)
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.

Google Adsense

Google Adsense

Google Analytics



C로그팬박스