이 예의 문제 첫번째보다 쉽다. xloadimage 프로그램을 내 그래픽
도구 모음에 추가하면 좋겠다고 생각했다. 나는 xloadi41.gz
파일을
Mui와 Quercia가 쓴
X User Tools라는 훌륭한 책의
부록 CD에 있는 소스 디렉터리에서 직접 복사했다.
기대한 대로, tar xzvf로 파일을 풀 수 있었다.
하지만 make는 고약해 보이는 에러를 내고는 중단되어 버렸다.
gcc -c -O -fstrength-reduce -finline-functions -fforce-mem
-fforce-addr -DSYSV -I/usr/X11R6/include
-DSYSPATHFILE=\"/usr/lib/X11/Xloadimage\" mcidas.c
In file included from /usr/include/stdlib.h:32,
from image.h:23,
from xloadimage.h:15,
from mcidas.c:7:
/usr/lib/gcc-lib/i486-linux/2.6.3/include/stddef.h:215:
conflicting types for `wchar_t'
/usr/X11R6/include/X11/Xlib.h:74: previous declaration of
`wchar_t'
make[1]: *** [mcidas.o] Error 1
make[1]: Leaving directory
`/home/thegrendel/tst/xloadimage.4.1'
make: *** [default] Error 2
에러 메시지에 결정적인 단서가 들어있다.
image.h
파일의 23째 줄을 보면...
#include <stdlib.h>
Aha, xloadimage의 소스 어딘가에서 wchar_t가 표준 include
파일인 stdlib.h
에서 정의된 것으로 다시 정의되었다.
먼저 stdlib.h는 포함시킬 필요가 없을 듯 하므로 image.h
의
23째 줄을 주석문으로 만들어 보자.
이제 설치 과정은 아무런 치명적인 에러 없이 진행된다. xloadimage 패키지는 지금 정확히 작동하고 있다.