我正在尝试在 Debian Squeeze (64 位) 上从源代码构建 libiphone。但是 autogen.sh 一直给我这个:
configure: error: Package requirements (glib-2.0 >= 2.14.1) were not met:
No package 'glib-2.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables libglib2_CFLAGS
and libglib2_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
我认为它指的是 libglib2.0-dev(没有包“glib-2.0”),我已经按照 README 的指示安装了 (版本 2.30.2-6)。出于好玩,我还安装了 glibc-2.11-1、libglib2.0-0、libglib2.0-dev 和 libglibmm-2.4-dev,但无济于事。我尝试以 root 身份运行 autogen.sh。
所以基本上 autogen.sh 在撒谎,因为我安装了所有可以想到的 glib 库,每个库的版本都 >= 2.14.1,而且我都是从官方 Debian 存储库安装的。有人能帮我弄清楚这是怎么回事吗?
编辑:
事实证明 autogen.sh 只是进行了一些小设置然后运行configure
。我仔细检查了一下configure
,发现以下可能相关的几行:
在题为“一些有影响力的环境变量”的评论中:
libglib2_CFLAGS
C compiler flags for libglib2, overriding pkg-config
在代码本身中:
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libglib2" >&5
$as_echo_n "checking for libglib2... " >&6; }
if test -n "$libglib2_CFLAGS"; then
pkg_cv_libglib2_CFLAGS="$libglib2_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --
($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.14.1") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_libglib2_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.14.1" 2>/
else
pkg_failed=yes
fi
else
pkg_failed=untried
fi