m4宏能用外壳$(...)重定向输出到变量吗?变量$MANPAGE_DOCBOOK_XSL为空:(.
if test "x${XMLCATALOG}" != "x" -a "x$have_xmlcatalog_file" = "xyes"; then
DOCBOOK_XSL_URI="http://docbook.sourceforge.net/release/xsl/current"
DOCBOOK_XSL_PATH="manpages/docbook.xsl"
MANPAGE_DOCBOOK_XSL=$(${XMLCATALOG} ${XML_CATALOG_FILE} ${DOCBOOK_XSL_URI}/${DOCBOOK_XSL_PATH} | sed -n 's|^file:/\+|/|p;q')
fihttps://github.com/pevik/ima-evm-utils/blob/master/m4/manpage-docbook-xsl.m4#L22
看一下Wayland中的类似代码,他们只检查命令是否有效(是否可以找到目录),而不是检查值。
https://github.com/wayland-project/wayland/blob/master/configure.ac#L167
发布于 2020-08-14 03:48:38
最后,我发现这是错误的sed部分( m4本身并没有什么神奇之处)。我发了一个修补软件的补丁:
https://patchwork.kernel.org/patch/11712861/
- MANPAGE_DOCBOOK_XSL=$(${XMLCATALOG} ... | sed -n 's|^file:/\+|/|p;q')
+ MANPAGE_DOCBOOK_XSL=$(${XMLCATALOG} ... | sed 's|^file:/\+|/|')我想我应该删除这个问题作为无效。
https://stackoverflow.com/questions/63363382
复制相似问题