JSON-GLib 开发标头的正确包

JSON-GLib 开发标头的正确包

在配置一个项目时,我收到错误:

checking for JSON... no
no
configure: error: 
You must have JSON-GLib >= 0.14.0 development headers installed to build.

make: *** [config.status] Error 1

configure脚本包含这样的字符串:

$ cat configure | grep json-glib
    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-glib-1.0 >= 0.14.0\""; } >&5
  ($PKG_CONFIG --exists --print-errors "json-glib-1.0 >= 0.14.0") 2>&5
  pkg_cv_JSON_CFLAGS=`$PKG_CONFIG --cflags "json-glib-1.0 >= 0.14.0" 2>/dev/null`
    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-glib-1.0 >= 0.14.0\""; } >&5
  ($PKG_CONFIG --exists --print-errors "json-glib-1.0 >= 0.14.0") 2>&5
  pkg_cv_JSON_LIBS=`$PKG_CONFIG --libs "json-glib-1.0 >= 0.14.0" 2>/dev/null`
            JSON_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json-glib-1.0 >= 0.14.0" 2>&1`
            JSON_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json-glib-1.0 >= 0.14.0" 2>&1`

因此我认为我需要包json-glib-1.0但它似乎已经安装了:

$ apt-cache policy json-glib-1.0
libjson-glib-1.0-common:
  Installed: 0.16.2-1ubuntu1
  Candidate: 0.16.2-1ubuntu1
  Version table:
 *** 0.16.2-1ubuntu1 0
        500 http://ru.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status
libjson-glib-1.0-0-dbg:
  Installed: (none)
  Candidate: 0.16.2-1ubuntu1
  Version table:
     0.16.2-1ubuntu1 0
        500 http://ru.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
gir1.0-json-glib-1.0:
  Installed: (none)
  Candidate: (none)
  Version table:
gir1.2-json-glib-1.0:
  Installed: (none)
  Candidate: (none)
  Version table:
libjson-glib-1.0-0:
  Installed: 0.16.2-1ubuntu1
  Candidate: 0.16.2-1ubuntu1
  Version table:
 *** 0.16.2-1ubuntu1 0
        500 http://ru.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status

有人知道我应该安装哪个包吗?如果确实重要的话,来源是 Pidgin 3.0 开发分支。我在 Google 上找到的所有内容都只是关于将 json-glib 更改为 0.14 版本的消息

正如 raaz 在下面所建议的那样,我通过 下载、转换并安装了 RPM alien。但configure即使使用最新版本的软件包,脚本也会产生相同的错误。

$ dpkg -L json-glib-devel | grep include
/usr/include
/usr/include/json-glib-1.0
/usr/include/json-glib-1.0/json-glib
/usr/include/json-glib-1.0/json-glib/json-gvariant.h
/usr/include/json-glib-1.0/json-glib/json-builder.h
/usr/include/json-glib-1.0/json-glib/json-gobject.h
/usr/include/json-glib-1.0/json-glib/json-version.h
/usr/include/json-glib-1.0/json-glib/json-parser.h
/usr/include/json-glib-1.0/json-glib/json-reader.h
/usr/include/json-glib-1.0/json-glib/json-path.h
/usr/include/json-glib-1.0/json-glib/json-enum-types.h
/usr/include/json-glib-1.0/json-glib/json-glib.h
/usr/include/json-glib-1.0/json-glib/json-generator.h
/usr/include/json-glib-1.0/json-glib/json-types.h

答案1

开发文件json-glib可以通过常规软件存储库进行安装,无需从不同的发行版中获取它们并转换包!

sudo apt-get install libjson-glib-dev

当编译应用程序时,如果 configure 脚本提示缺少依赖项,则需要开发文件(99% 的情况下)。在 Ubuntu 中,这些文件在-dev软件包名称末尾以 标记。

答案2

我找到了,但是是 RPM 格式。你还有机会。将 rpm 转换为 deb。

使用以下方式下载 RPM

wget http://archive.fedoraproject.org/pub/archive/fedora/linux/releases/16/Fedora/i386/os/Packages/json-glib-devel-0.14.0-1.fc16.i686.rpm

对于 32 位架构,以及

wget http://archive.fedoraproject.org/pub/archive/fedora/linux/releases/16/Fedora/x86_64/os/Packages/json-glib-devel-0.14.0-1.fc16.x86_64.rpm

适用于 64 位架构。

然后使用 alien 将其转换为 deb

sudo apt-get install alien
alien -k json-glib-devel-0.14.0-1.fc16.<architecture>.rpm

这将创建一个 .DEB,你可以使用以下命令安装 DEB

sudo dpkg -i filename.deb

希望对您有所帮助。如有任何疑问/问题,请告诉我。

相关内容