我尝试在基于 Debian 的机器上从源代码安装一个程序,所以我运行了./waf configure
,这是我的输出:
Checking for 'gcc' (C compiler) : /usr/bin/gcc Checking for program 'pkg-config' : /usr/bin/pkg-config Checking for 'gobject-2.0' : yes Checking for 'gthread-2.0' : yes Checking for program 'valac-0.8' : not found Checking for program 'valac' : /usr/bin/valac Checking for valac version >= (0, 8, 0) : (0, 34, 7) Checking for program 'msgfmt' : /usr/bin/msgfmt Checking for program 'perl' : /usr/bin/perl Checking for program 'intltool-merge' : /usr/bin/intltool-merge Checking for header locale.h : yes Checking for program 'glib-genmarshal' : /usr/bin/glib-genmarshal Checking for program 'glib-mkenums' : /usr/bin/glib-mkenums Checking for program 'glib-compile-schemas' : /usr/bin/glib-compile-schemas Checking for program 'glib-compile-resources' : /usr/bin/glib-compile-resources Checking for program 'valac-0.28' : /usr/bin/valac Checking for valac-0.28 version >= (0, 28, 0) : (0, 34, 7) Checking for 'glib-2.0' : yes Checking for 'gio-2.0' : yes Checking for 'gobject-2.0' : yes Checking for 'gmodule-2.0' : yes Checking for 'gtk+-3.0' : yes Checking for 'libsoup-2.4' : not found
问题是:我已经有了libsoup-2.4-1安装。正如程序作者所述,所需的依赖项是:
……
libsoup >=2.4
但是,我认为用旧版本替换新版本会导致系统出现一些常见问题,所以我不想尝试这样做,我也不认为这样做很明智,因为新版本应该与旧版本一样好老的。
我该怎么做才能使这个程序可以编译?
答案1
您需要安装libsoup
开发包libsoup2.4-dev
:
sudo apt install libsoup2.4-dev
您需要将libsoup2.4-dev
和libsoup2.4-1
(-dev
软件包所依赖的)作为匹配对安装,并具有相同的版本。因此,如果您已经libsoup2.4-1
安装了,则需要安装匹配的版本- 无论是必要时libsoup2.4-dev
降级,还是从与您安装的.libsoup2.4-1
libsoup2.4-dev
libsoup2.4-1
答案2
要添加到斯蒂芬的答案中,configure
请使用pkgconfig
检查已安装的库,然后从/usr/lib/pkgconfig/libsoup-x.y.pc
文件中读取配置。由于您只需要该文件进行开发,因此它包含在-dev
包中。
关于您在软件包版本方面遇到的麻烦,这问题可能有用。