Re: problem building Linux-PAM-1.7.1
"Xi Ruoyao" ([email protected] via blfs-support Mailing List) <[email protected]> Sat, 01 Nov 2025 03:22:15 +0800
| Newsgroups | gmane.linux.lfs.beyond.support |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 2025-10-31 at 14:53 -0400, Joe Locash wrote: > On 10/31/25 2:46 PM, Richard ([email protected] via blfs-support Mailing > List) wrote: > > I am following the blfs-12.4 stable book. I haven't installed > > the optional dependencies for Linux-PAM-1.7.1 needed > > to build the documentation, but I downloaded the optional > > documentation file instead. I don't do the initial sed because > > I haven't installed docbook, etc. When I issue the meson setup > > command I get the following error: > > > > --- stderr --- > > I/O warning : failed to load > > "http://docbook.org/xml/5.0/rng/docbookxi.rng": No such file or directory > > Relax-NG parser error : xmlRelaxNGParse: could not load > > http://docbook.org/xml/5.0/rng/docbookxi.rng > > Relax-NG schema http://docbook.org/xml/5.0/rng/docbookxi.rng failed to > > compile > > ../doc/man/meson.build:42:2: ERROR: Command `/usr/bin/xmllint --nonet > > --noout --xinclude --relaxng > > http://docbook.org/xml/5.0/rng/docbookxi.rng misc_conv.3.xml` failed > > with status 5. > > > > So it looks as though Linux-PAM requires the docbook programs. > > Is there a way I can specify that I don't want the documentation to > > be built? If not, should the optional dependencies for the documentation > > be required instead? > > > > I also tried leaving off the -D docdir=/usr/share/doc/Linux-PAM-1.7.1 > > line from meson setup, but I got the same error. > > > > I looked at the options from meson help setup but I couldn't find an > > option > > to turn off the documentation. > > Use -Ddocs=disabled when running meson. I cannot see how this option should be ever needed. I'm pretty sure I tested the configuration w/o docbook before I wrote the current Linux-PAM instruction. And I just spent some time to review it. In meson.build we have: docbook_rng = get_option('docbook-rng') have = run_command( [prog_xmlcatalog, '--noout', xml_catalog, docbook_rng], check: feature_docs.enabled() ).returncode() == 0 if not have docbook_rng = disabler() endif Here "run_command" will fail because docbook_rng is http://docbook.org/xml/5.0/rng/docbookxi.rng, which does not exist in xml_catalog (/etc/xml/catalog). Thus "have" will be false, and docbook_rng will be a disabler. Then at doc/man/meson.build we have run_command([prog_xmllint, '--nonet', '--noout', '--xinclude', '--relaxng', docbook_rng, xml], check: true) Because docbook_rng is a disabler here, this command shouldn't be run as the meson documentation says: A disabler object is an object that behaves in much the same way as NaN numbers do in floating point math. That is when used in any statement (function call, logical op, etc) they will cause the statement evaluation to immediately short circuit to return a disabler object. My guess is a buggy libxml2 (at least we know 2.15.0 has some bugs but I'm unsure if one of them can cause the issue) or meson is used. The combination of libxml2-2.15.1 and meson-1.9.1 behaves OK. -- Xi Ruoyao <[email protected]> -- http://lists.linuxfromscratch.org/sympa/info/blfs-support Unsubscribe: See the above information page