You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04编译gtkmm4遇Ninja未知IO错误,求解决

问题:Ubuntu 22.04编译gtkmm-4.8.0时ninja构建失败

在Ubuntu 22.04环境下编译gtkmm-4.8.0,执行meson配置命令:

raphy@raohy:~/gtkmm-4.8.0$ meson setup --prefix /usr --libdir lib your_builddir .
The Meson build system
Version: 1.3.0
Source dir: /home/raphy/gtkmm-4.8.0
Build dir: /home/raphy/gtkmm-4.8.0/your_builddir

执行ninja构建时出现如下错误:

raphy@raohy:~/gtkmm-4.8.0/your_builddir$ ninja
[125/2744] Generating subprojects/libsigcplusplus/docs/docs/manual/manual_html with a custom command
FAILED: subprojects/libsigcplusplus/docs/docs/manual/html 
/usr/bin/python3 /home/raphy/gtkmm-4.8.0/subprojects/libsigcplusplus/tools/tutorial-custom-cmd.py html ../subprojects/libsigcplusplus/docs/docs/manual/libsigc_manual.xml subprojects/libsigcplusplus/docs/docs/manual/html
error : Unknown IO error
warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"
cannot parse http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl
[134/2744] Generating subprojects/libsigcplusplus/docs/docs/reference/html_and_tag with a custom command
ninja: build stopped: subcommand failed.

解决方法

方法1:安装本地DocBook XSL样式包

错误源于构建脚本尝试远程加载DocBook的XSL文件失败,安装本地包可让构建使用本地文件:

sudo apt update && sudo apt install docbook-xsl

安装完成后回到build目录,重新执行ninja即可。

方法2:跳过文档编译(推荐,若无需生成文档)

如果不需要构建libsigcplusplus的文档,可直接禁用文档编译选项:

  1. 进入build目录:
    cd ~/gtkmm-4.8.0/your_builddir
    
  2. 修改meson配置:
    meson configure -Dbuild-documentation=false
    
  3. 重新执行构建:
    ninja
    

方法3:手动指定本地XSL路径(可选)

若安装本地包后仍有问题,可手动修改libsigcplusplus的构建脚本,将远程URL替换为本地XSL文件路径。Ubuntu下docbook-xsl安装后,chunk.xsl的默认路径为/usr/share/xml/docbook/stylesheet/docbook-xsl/html/chunk.xsl,找到脚本中引用远程URL的部分替换即可,但此方法较繁琐,优先推荐前两种。

内容的提问来源于stack exchange,提问作者Raphael10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 13:20:16