DDD를 컴파일하기 위해서는 Motif라이브러리가 필요하다. lesstif나 OpenMotif를 설치해야한다. 나는 OpenMotif를 사용하였다.
openmotif-2.3.1 설치하기
openmotif-2.3.1을 컴파일 할 때 문제는 freetype2라이브러리가 Mac OS X에 이미 설치되어 있고 freetype-config 프로그램이 제대로된 결과를 출력함에도 불구하고 freetype 헤더파일을 찾지 못한다는 것이다. 그래서 다음과 같이 CFLAGS를 강제로 세팅하였다.
./configure CFLAGS=-I/usr/X11/include/freetype2 make sudo make install
ddd-3.3.11 설치하기
ddd를 컴파일할 때 문제는 Mac OS X의 기본 파일시스템인 journaled HFS+가 대소문자가 다른 파일이름을 허용하지 않는다는 것이다. (case preserved, not case sensitive) 그래서, X resource 파일인 Ddd와 실행파일인 ddd가 한 디렉토리에 존재하여 하나가 다른 하나를 덮어써버린다. 컴파일할 때 EXEEXT 변수를 사용하여 work-around한다.
./configure make EXEEXT=.exe sudo make install EXEEXT=.exe sudo mv /usr/local/bin/ddd.exe /usr/local/bin/ddd
추가적으로, gnuplot이 필요하다면 설치한다.
readline-5.2 설치하기
gnuplot 컴파일 시 readline라이브러리와 링크하다가 에러를 낸다. Mac OS X에 기본으로 깔려있는 readline라이브러리는 사실 libedit(readline의 NetBSD버전)이다. 정확한 이유는 알 수 없지만 뭔가 궁합이 맞지않는다고 생각하고 GNU readline을 먼저 설치해준다.
readline을 컴파일할 때 libtool이 shared library를 build할 때 사용하는 -dynamic 옵션이 -compatibility_version 옵션과 충돌한다. SHOBJ_LDFLAGS옵션을 줘서 -dynamic옵션을 -dynamiclib옵션으로 바꿔주면 된다.
./configure make SHOBJ_LDFLAGS=-dynamiclib sudo make install
gnuplot-4.2.4 설치하기
gnuplot이 /usr/local에 설치된 readline라이브러리를 사용하도록 다음과 같이 CFLAGS와 LDFLAGS를 세팅해준다.
./configure CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib make sudo make install
무엇 하나 곱게 되는 법이 없다.
이 글은 스프링노트에서 작성되었습니다.


