Centos 5.5에 linux_monitor 패키지를 설치하려고 합니다. make를 시도하면 다음과 같은 결과를 얻습니다.
make[3]: Entering directory `/tmp/linux_monitor-2.0RC3/src/server'
if gcc -DHAVE_CONFIG_H -I. -I. -I../../src -I/usr/include/openssl -g -O2 -Wall -MT linux_mond.o -MD -MP -MF ".deps/linux_mond.Tpo" \
-c -o linux_mond.o `test -f 'linux_mond.c' || echo './'`linux_mond.c; \
then mv -f ".deps/linux_mond.Tpo" ".deps/linux_mond.Po"; \
else rm -f ".deps/linux_mond.Tpo"; exit 1; \
fi
In file included from linux_mond.c:23:
linux_mond.h:40:18: error: glib.h: No such file or directory
linux_mond.c: In function ‘server’:
linux_mond.c:155: warning: pointer targets in passing argument 3 of ‘accept’ differ in signedness
linux_mond.c: In function ‘client’:
linux_mond.c:334: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness
나는 glib.h를 찾을 수 없다는 것을 알고 있습니다. 그렇죠? /usr/include/glib-1.2/에 있다는 것을 알고 있지만 여러 구성 플래그를 시도하고 다른 파일을 살펴봤지만 구성에 라이브러리의 위치를 알리는 방법을 찾을 수 없습니다.
답변1
그것이 존재한다는 것을 알고 있다면 Makefile에 "INCLUDE" 정의를 /usr/include/glib-1.2
추가할 수 있어야 합니다 . -I/usr/include/glib-1.2
나는 패키지나 소스를 소유하고 있지 않으므로 이보다 더 모호할 수는 없습니다.
편집하다
위에서 지적한 패키지를 방금 다운로드했습니다. 가서 라인에 src/server
추가하세요-I/usr/include/glib-1.2
DEFAULT_INCLUDES =-I. -I$(srcdir) -I$(top_builddir)/src
DEFAULT_INCLUDES =-I. -I$(srcdir) -I$(top_builddir)/src -I/usr/include/glib-1.2
해당 선 바로 아래를 보면 알 수 있습니다.
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
아래 댓글에서 제가 언급한 인용문입니다.
편집편집
아니면 더 잘생겼거나
./configure --with-cpp-flags=-I/usr/include/glib-1.2