已关闭
【26.09-alpha】dblatex 编译 PDF 失败,pdflatex 报 cyclic make #6
wang-kun-1005创建于  9月7日关闭于  9月7日
wang-kun-1005
wang-kun-1005成员
9月7日 创建

【缺陷描述】:请补充详细的缺陷问题现象描述

使用dblatex指定输出目录参数-O / --output‑dir编译 docbook 格式 xml 文档时,中间.rtex文件可以正常生成,但后端调用pdflatex编译 PDF 过程异常退出,日志打印FIXME: cyclic make,最终目录下无 pdf 产物。

一、缺陷信息

dblatex-0.3.12-2.oe2609

【缺陷所属的os版本】

openEuler-26.09

【内核版本】

6.6.0-163.0.0.1.oe2609

【缺陷所属软件及版本号】

dblatex-0.3.12-2.oe2609

【环境信息】

硬件信息

  • 提供跟硬件相关的信息,如架构、cpu和内存规格等
  • 虚拟机场景,额外补充宿主机os版本类型

软件信息

  • 跟缺陷所属软件相关的其它软件版本信息(如软件包构建失败由gcc引起,请填写gcc的版本号)

网络信息

  • 如果有特殊组网,请提供网络拓扑信息以及网络数据走向

【问题复现步骤】

1.定义临时目录变量

TMP_DIR="./tmp"
TMP_PATH="$(mktemp -d -t dblatex.XXXXXXXXXXXX)"
TMP_PATH_O1=${TMP_PATH}/O1
TMP_PATH_O2=${TMP_PATH}/O2

2.创建目录

mkdir -p "${TMP_DIR}" "${TMP_PATH_O1}" "${TMP_PATH_O2}"

3.python软链接

ln -s /usr/bin/python3 /usr/bin/python

4.bibtex.py Python3语法补丁

sed -i 's#string.join(self.bib_path +#":".join(self.bib_path +#g' "$(rpm -ql dblatex | grep bibtex.py)"
sed -i 's#\[os.getenv("BIBINPUTS", "")\], ":")#\[os.getenv("BIBINPUTS", "")\])#g' "$(rpm -ql dblatex | grep bibtex.py)"
sed -i 's#string.join(self.bst_path +#":".join(self.bst_path +#g' "$(rpm -ql dblatex | grep bibtex.py)"
sed -i 's#\[os.getenv("BSTINPUTS", "")\], ":")#\[os.getenv("BSTINPUTS", "")\])#g' "$(rpm -ql dblatex | grep bibtex.py)"
sed -i 's#list.sort()#sorted(list)#g' "$(rpm -ql dblatex | grep bibtex.py)"

5.修改texlive输出权限

sed -i 's#openout_any = p#openout_any = a#g' "$(rpm -ql texlive-base | grep texmf-dist/web2c)/texmf.cnf"
  1. 修改dblatex源码must_compile标记
sed -i '271s#self.doc.must_compile = 1#self.doc.must_compile = 0#g' "$(rpm -ql dblatex | grep bibtex.py)"
  1. -O短参数测试
dblatex -O "${TMP_PATH_O1}" -P set.book.num=all -P use.id.as.filename=1 common/test-2/test.xml
test -f "${TMP_PATH_O1}"/bk101.pdf -a -f "${TMP_PATH_O1}"/bk102.pdf
  1. --output-dir长参数测试
dblatex --output-dir="${TMP_PATH_O2}" -P set.book.num=all -P use.id.as.filename=1 common/test-2/test.xml
test -f "${TMP_PATH_O2}"/bk101.pdf -a -f "${TMP_PATH_O2}"/bk102.pdf

【实际结果】

短参数和长参数测试失败,命令报错 cyclic make

【期望结果】

命令执行成功,无报错信息

【其他相关附件信息】

image.png
image.png

用例地址: https://gitcode.com/openeuler/mugen/blob/master/testcases/cli-test/dblatex/oe_test_dblatex_dblatex_01.sh

【缺陷详情及分析指导参考链接】

likedislike
wang-kun-1005wang-kun-1005成员
9月7日 关联了里程碑:openEuler-26.09-DevStation-alpha
openeuler-ci-botopeneuler-ci-bot成员
9月7日 修改了issue 的描述
openeuler-ci-bot
openeuler-ci-bot成员
9月7日 评论:

以下的要求不是强制性的, 未按模板评论时对issue无任何影响
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, 缺陷严重等级, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否))不能省略,省略后defect-manager将无法正常解析填写内容.
评论区可能使用到的指令说明:

指令 指令说明 使用权限
/check-issue 触发defect-manager校验 不限
/reason xxx /reason +挂起或取消条件 不限

影响性分析说明:

缺陷严重等级:(Critical/High/Moderate/Low)

缺陷根因说明:

受影响版本排查(受影响/不受影响):

  1. openEuler-20.03-LTS-SP4:
  2. openEuler-22.03-LTS-SP3:
  3. openEuler-22.03-LTS-SP4:
  4. openEuler-24.03-LTS:
  5. openEuler-24.03-LTS-SP1:
  6. openEuler-24.03-LTS-SP2:

abi变化(是/否):

  1. openEuler-20.03-LTS-SP4:
  2. openEuler-22.03-LTS-SP3:
  3. openEuler-22.03-LTS-SP4:
  4. openEuler-24.03-LTS:
  5. openEuler-24.03-LTS-SP1:
  6. openEuler-24.03-LTS-SP2:

缺陷issue处理具体操作请参考:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/defect-manager-manual.md
pr关联issue具体操作请参考:
https://docs.atomgit.com/docs/help/home/org_project/pullrequests/pr-related-issue

likedislike
openeuler-ci-botopeneuler-ci-bot成员
9月7日 将 small_leek、zhuchunyi、kaitiandu、wang-kun-1005 设为负责人
openeuler-ci-botopeneuler-ci-bot成员
9月7日 添加了label:DEFECT/UNFIXED
openeuler-ci-botopeneuler-ci-bot成员
9月7日 添加了label:sig/Application
openeuler-ci-bot
openeuler-ci-bot成员
9月7日 评论:

Welcome To openEuler Community

Hey @wang-kun-1005 , thanks for your contribution to the community.

Bot Usage Manual

I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands. You can self-configure the PR merge rules for this repository. For more details, please refer to Here.

Contact Guide

If you have any questions, please contact the SIG: Application ,
and any of the maintainers: @kaitiandu, @small_leek, @zhuchunyi ,
and any of the committers: @caodongxia, @starlet-dx, @wk333 .

likedislike
wang-kun-1005wang-kun-1005成员
9月7日 修改了issue 的描述
wang-kun-1005wang-kun-1005成员
9月7日 修改了issue 的描述
wang-kun-1005wang-kun-1005成员
9月7日 修改了issue 的描述
wang-kun-1005wang-kun-1005成员
9月7日 修改了issue 的描述
Wwk333成员
9月7日 修改了issue 的描述
wk333成员
9月7日 评论:

FIXME: cyclic make 信息是噪音,是书间交叉引用造成的内部提示,非根因

主要是由于texlive-tools 和 texlive-latex 版本不匹配,导致 dblatex 生成pdf时报错

当前 LaTeX 内核(texlive-latex svn76708)版本是2025-11-01发布,已删除内部宏 \tbl_save_outer_table_cols,tools 宏包(texlive-tools svn75470)中array.sty版本 v2.6j 2025-06-08版本仍在 @array 里调用已被删的宏 \tbl_save_outer_table_cols,在以下commit修复
https://github.com/latex3/latex2e/commit/11d4d702817f5637d77979c4bc4a5c24a930fad7
将 texlive-tools 更新版本进行修复

验证texlive-tools更新后可执行成功
image.png

likedislike
openeuler-ci-botopeneuler-ci-bot成员
9月7日 关闭了 issue
openeuler-ci-botopeneuler-ci-bot成员
9月7日 issue状态由 待办的 改变为 已完成
openeuler-ci-botopeneuler-ci-bot成员
9月7日 移除了负责人 lyn1001、zhuchunyi、kaitiandu、wang-kun-1005
openeuler-ci-botopeneuler-ci-bot成员
9月7日 删除了label:DEFECT/UNFIXED
openeuler-ci-bot
openeuler-ci-bot成员
9月7日 评论:

@small_leek 未对受影响版本排查/abi变化进行分析

likedislike
openeuler-ci-botopeneuler-ci-bot成员
9月7日 关联了pull request:[sync] PR-9: Update tools to svn76708
wang-kun-1005
wang-kun-1005成员
9月29日 评论:

image.png
image.png
验收通过

likedislike
wang-kun-1005wang-kun-1005成员
9月29日 issue状态由 已完成 改变为 已验收
openeuler-ci-bot
openeuler-ci-bot成员
9月29日 评论:

@small_leek 未对受影响版本排查/abi变化进行分析

likedislike