
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