我正在尝试在 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
如果您知道它在中,/usr/include/glib-1.2
那么您应该能够添加-I/usr/include/glib-1.2
到 Makefile 中的“INCLUDE”定义。我没有这个包或它的来源,所以我不能比这更含糊了。
编辑
我刚刚下载了您上面指出的软件包。转到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