Mac OSX에 OpenSceneGraph 설치하기
~2014/삽질을 피하는 방법 2009. 4. 28. 08:33 |OpenSceneGraph(OSG)는 OpenGL을 이용하여 사용자가 손쉽게 다양한 기능을 구현하여 3D 렌더링을 할 수 있도록 하는 open source, cross platform library 이다.
이것을 내 맥북프로 Mac OS 10.5.6에 설치하는데 문제가 계속 발생했다.
Undefined symbols for architecture ppc:
Mac에 설치하는 방법은 두 가지인데 Xcode용 인스톨러 패키지를 다운받아서 설치하는 방법과 소스를 다운받아서 직접 컴파일해서 설치하는 방법이 있다.
전자는 /Library/Frameworks 안에 Xcode 용 framework을 설치하고 Xcode용 project 템플릿을 추가한다.
후자는 /usr/local/include, /usr/local/lib 등에 헤더와 라이브러리 파일을 설치한다.
아무튼 console에서 후자의 방법을 통해 OSG를 설치하는데 80%쯤 컴파일을 하고나서 컴파일 에러를 띄우면서 설치가 되지 않았다. 에러로 봐서는 도대체 무슨 상황인지 알 수 없는 상황. 그래서 포기하고 있다가 며칠전 OSG 포럼에 글을 남겼더니 어제 답이 떴다. 아래는 포럼 링크.
포럼.
일단 원인은 OSG는 CMake를 이용하여 소스를 컴파일하는데 이때 기본적으로 PPC용 및 Intel용으로 모두 컴파일하도록 설정이 되어 있다. 그런데 내 맥에 PPC용 Inventor를 설치했던 흔적이 남아있고 OSG가 이것에 대해 제대로 컴파일을 할 수가 없어서 에러내고 종료되는 것이었다. Inventor에 대한 의존성과 어떤 경로에 어떻게 설치되어 있는지 모르기 때문에 설정에서 OSG를 Intel용으로만 컴파일하도록 설정하여 다시 했더니 깔끔하게 잘 되었다.
어떻게 했는지에 대해 기록을 남기자.
일단 CMake를 이용하는 소스는 해당 폴더 내에 CMakeList.txt라는 파일이 있다. OSG의 경우
[설치폴더]/OpenSceneGraph/CMakeList.txt
라는 파일이 있다.
[설치폴더]로 가서 (OpenSceneGraph 폴더가 아님. 그 상위 폴더) 다음을 실행한다.
ccmake OpenSceneGraph (<- CMakeList.txt 파일이 들어있는 폴더명)
그러면 환경 설정 화면이 뜬다.
아래에서 1/3 지점쯤에 CMAKE_OSX_ARCHITECTURES 라는 항목이 있고 이 항목의 값이 i386으로 되어있는 것을 볼 수 있다. (이미 수정된 후)
위 에디터는 보통의 텍스트 에디터와는 다르게 한줄 한줄 수정이 가능하다. 위 그림의 아래에서부터 다섯번째 라인이 반전되어 있는 것을 볼 수 있는데, 이곳에서만 편집을 할 수 있다. (이를 편집라인이라 부르자!)
화살표키로 위아래로 움직이면 상단에 열거돼 있는 항목들이 이 편집라인에 한줄씩 나타나고 항목에 대한 설명이 같이 나타난다. 수정하고자 하는 목록을 화살표키로 이 편집라인에 나타나도록 한 후 엔터키를 치면 값을 바꿀 수 있다. ON/OFF 값과 같이 값이 정해져 있는 경우 엔터키를 칠 때마다 값이 토글된다. 문자열의 경우는 직접 편집하면 된다.
편집을 마치면 c 키를 눌러 configure를 실행하자. 이때 임시 configuration이 일어나고 값이 변경된 항목들에 * 표가 표시되어 값이 바뀔 것임을 알려준다. 일종의 '이거 변경할 건데 맞지?'하고 한번 더 확인하는 셈.
확인이 끝났으면 c 키를 한번 더 누른다. 그럼 실제 값을 변경하고 configuration을 마친다. 마치고 나면 *표가 사라졌음을 알 수 있다. 이제 g 키를 눌러서 (뭔가를) 생성하고 완료되면 종료한다.
이제 OpenSceneGraph 폴더로 들어가서 make & make install 하면 새로운 세팅으로 컴파일을 한다.
끗.