Bug 282129 - devel/json-glib: configure error: rst2html5 not found
Summary: devel/json-glib: configure error: rst2html5 not found
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-desktop (Team)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-16 00:05 UTC by Wassily
Modified: 2024-10-16 12:46 UTC (History)
3 users (show)

See Also:
vishwin: maintainer-feedback+


Attachments
Full log (21.51 KB, text/plain)
2024-10-16 02:50 UTC, Wassily
no flags Details
Add dependency on py-docutils for DOCS option (565 bytes, patch)
2024-10-16 09:42 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Wassily 2024-10-16 00:05:42 UTC
In FreeBSD 14.1-p5, Poudriere failed to build this port. The build ends with this message:
Program /usr/local/bin/g-ir-compiler found: YES (/usr/local/bin/g-ir-compiler)
Program xgettext found: YES (/usr/local/bin/xgettext)
Program msgfmt found: YES (/usr/local/bin/msgfmt)
Program msginit found: YES (/usr/local/bin/msginit)
Program msgmerge found: YES (/usr/local/bin/msgmerge)
Program xgettext found: YES (/usr/local/bin/xgettext)
Program rst2man rst2man.py found: NO
Program rst2html5 rst2html5.py found: NO

doc/meson.build:20:12: ERROR: Program 'rst2html5 rst2html5.py' not found or not executable

A full log can be found at /wrkdirs/usr/ports/devel/json-glib/work/json-glib-1.10.0/_build/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
===>  Script "configure" failed unexpectedly.
Please report the problem to desktop@FreeBSD.org [maintainer] and attach the
"/wrkdirs/usr/ports/devel/json-glib/work/json-glib-1.10.0/_build/meson-logs/meson-log.txt"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/json-glib
=>> Cleaning up wrkdir
===>  Cleaning for json-glib-1.10.0
build of devel/json-glib | json-glib-1.10.0 ended at Tue Oct 15 20:50:09 -03 2024
build time: 00:00:04
!!! build failure encountered !!!
Comment 1 Charlie Li freebsd_committer freebsd_triage 2024-10-16 02:30:43 UTC
What are your currently set options?
Comment 2 Wassily 2024-10-16 02:50:42 UTC
Created attachment 254280 [details]
Full log

Full log.
Comment 3 Wassily 2024-10-16 02:52:24 UTC
(In reply to Wassily from comment #2)
Hi, I added the full log. This is my make.conf
CPUTYPE?=znver3
DISABLE_LICENSES=yes
ALLOW_MAKE_JOBS=yes
MAKE_JOBS_NUMBER=12
#MAKE_JOBS_UNSAFE=yes
###
#MAKE_JOBS_UNSAFE=yes
#WITH_CCACHE_BUILD=YES
############################
OPTIONS_SET+=AVX
OPTIONS_SET+=AVX2
OPTIONS_SET+=OPTIMIZED_CFLAGS
OPTIONS_SET+=CPU_OPTS
OPTIONS_SET+=OPENMP
OPTIONS_SET+=SIMD
OPTIONS_SET+=LTO
OPTIONS_SET+=GMP
OPTIONS_SET+=NONFREE
OPTIONS_SET+=ZIMG
#####
OPTIONS_UNSET+= GSSAPI_BASE
OPTIONS_SET+=   GSSAPI_MIT
#####
DEFAULT_VERSIONS+= LLVM=18 GCC=14 ssl=openssl33
#####
.if ${.CURDIR:M*/www/firefox}
LDFLAGS+=       -lm
.endif
#####
Comment 4 Dimitry Andric freebsd_committer freebsd_triage 2024-10-16 09:29:32 UTC
Same here, poudriere run with all options at their defaults:

...
Program xgettext found: YES (/usr/local/bin/xgettext)
Program rst2man rst2man.py found: NO
Program rst2html5 rst2html5.py found: NO

doc/meson.build:20:12: ERROR: Program 'rst2html5 rst2html5.py' not found or not executable

A full log can be found at /wrkdirs/usr/ports/devel/json-glib/work/json-glib-1.10.0/_build/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
===>  Script "configure" failed unexpectedly.
Please report the problem to desktop@FreeBSD.org [maintainer] and attach the
"/wrkdirs/usr/ports/devel/json-glib/work/json-glib-1.10.0/_build/meson-logs/meson-log.txt"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).

This seems to be after ports 89965357906bd13197a4e79843ab01b6022298ff.
Comment 5 Dimitry Andric freebsd_committer freebsd_triage 2024-10-16 09:32:56 UTC
It looks like it tries to use /usr/local/bin/rst2html5 from py-docutils, which is not installed during the dependencies setup:

=======================<phase: build-depends  >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===>   json-glib-1.10.0 depends on package: py311-gi-docgen>=0 - not found
===>   Installing existing package /packages/All/py311-gi-docgen-2022.2.pkg
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Installing py311-gi-docgen-2022.2...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Installing py311-Jinja2-3.1.4...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   `-- Installing py311-Babel-2.16.0...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   | `-- Installing py311-setuptools-63.1.0_1...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   `-- Installing python311-3.11.10...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   | `-- Installing gettext-runtime-0.22.5...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   |   `-- Installing indexinfo-0.3.1...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   |   `-- Extracting indexinfo-0.3.1: .... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   | `-- Extracting gettext-runtime-0.22.5: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   | `-- Installing libffi-3.4.6...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   | `-- Extracting libffi-3.4.6: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   | `-- Installing mpdecimal-4.0.0...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   | `-- Extracting mpdecimal-4.0.0: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   | `-- Installing readline-8.2.13_2...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   | `-- Extracting readline-8.2.13_2: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   |   `-- Extracting python311-3.11.10: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   | `-- Extracting py311-setuptools-63.1.0_1: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   `-- Extracting py311-Babel-2.16.0: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   `-- Installing py311-markupsafe-2.1.5_1...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] |   `-- Extracting py311-markupsafe-2.1.5_1: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Extracting py311-Jinja2-3.1.4: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Installing py311-markdown-3.6...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Extracting py311-markdown-3.6: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Installing py311-pygments-2.18.0...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Extracting py311-pygments-2.18.0: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Installing py311-smartypants-2.0.1...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Extracting py311-smartypants-2.0.1: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Installing py311-toml-0.10.2_1...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Extracting py311-toml-0.10.2_1: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Installing py311-typogrify-2.0.7...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Extracting py311-typogrify-2.0.7: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Extracting py311-gi-docgen-2022.2: .......... done
=====
Message from python311-3.11.10:

--
Note that some standard Python modules are provided as separate ports
as they require additional dependencies. They are available as:

py311-gdbm       databases/py-gdbm@py311
py311-sqlite3    databases/py-sqlite3@py311
py311-tkinter    x11-toolkits/py-tkinter@py311
===>   json-glib-1.10.0 depends on package: py311-gi-docgen>=0 - found
===>   Returning to build of json-glib-1.10.0
===>   json-glib-1.10.0 depends on executable: meson - not found
===>   Installing existing package /packages/All/meson-1.5.2.pkg
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Installing meson-1.5.2...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Installing ninja-1.11.1,4...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Extracting ninja-1.11.1,4: ........ done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Extracting meson-1.5.2: .......... done
===>   json-glib-1.10.0 depends on executable: meson - found
===>   Returning to build of json-glib-1.10.0
===>   json-glib-1.10.0 depends on executable: ninja - found
===>   json-glib-1.10.0 depends on file: /usr/local/bin/python3.11 - found
===>   json-glib-1.10.0 depends on package: pkgconf>=1.3.0_1 - not found
===>   Installing existing package /packages/All/pkgconf-2.3.0,1.pkg
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Installing pkgconf-2.3.0,1...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Extracting pkgconf-2.3.0,1: .......... done
===>   json-glib-1.10.0 depends on package: pkgconf>=1.3.0_1 - found
===>   Returning to build of json-glib-1.10.0
===>   json-glib-1.10.0 depends on executable: msgfmt - not found
===>   Installing existing package /packages/All/gettext-tools-0.22.5.pkg
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Installing gettext-tools-0.22.5...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Installing libtextstyle-0.22.5...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Extracting libtextstyle-0.22.5: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Extracting gettext-tools-0.22.5: .......... done
===>   json-glib-1.10.0 depends on executable: msgfmt - found
===>   Returning to build of json-glib-1.10.0
===========================================================================
=======================<phase: lib-depends    >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===>   json-glib-1.10.0 depends on shared library: libglib-2.0.so - not found
===>   Installing existing package /packages/All/glib-2.80.5,2.pkg
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Installing glib-2.80.5,2...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Installing libiconv-1.17_1...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Extracting libiconv-1.17_1: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Installing pcre2-10.43...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Extracting pcre2-10.43: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Installing py311-packaging-24.1...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] `-- Extracting py311-packaging-24.1: .......... done
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Extracting glib-2.80.5,2: .......... done
==> Running trigger: gio-modules.ucl
Generating GIO modules cache
==> Running trigger: glib-schemas.ucl
Compiling glib schemas
No schema files found: doing nothing.
===>   json-glib-1.10.0 depends on shared library: libglib-2.0.so - found (/usr/local/lib/libglib-2.0.so)
===>   Returning to build of json-glib-1.10.0
===>   json-glib-1.10.0 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so)
===>   json-glib-1.10.0 depends on shared library: libgirepository-1.0.so - not found
===>   Installing existing package /packages/All/gobject-introspection-1.78.1_2,1.pkg
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Installing gobject-introspection-1.78.1_2,1...
[llvm-19-update-n272786-24958b70830a-amd64-local-job-01] Extracting gobject-introspection-1.78.1_2,1: .......... done
===>   json-glib-1.10.0 depends on shared library: libgirepository-1.0.so - found (/usr/local/lib/libgirepository-1.0.so)
===>   Returning to build of json-glib-1.10.0
===========================================================================
=======================<phase: configure      >============================
Comment 6 Dimitry Andric freebsd_committer freebsd_triage 2024-10-16 09:35:28 UTC
Ah, the MANPAGES option is off by default, I see. So apparently meson still tries to detect support for it? Or maybe it's doing that for the docs, I'm unsure.
Comment 7 Dimitry Andric freebsd_committer freebsd_triage 2024-10-16 09:39:37 UTC
The docs/meson.build file has:

rst2man = find_program('rst2man', 'rst2man.py', required: get_option('man'))
rst2html5 = find_program('rst2html5', 'rst2html5.py', required: get_option('documentation'))

so I think that you will have to depend on py-docutils also if only the DOCS option is enabled, and MANPAGES is disabled.
Comment 8 Dimitry Andric freebsd_committer freebsd_triage 2024-10-16 09:42:23 UTC
Created attachment 254285 [details]
Add dependency on py-docutils for DOCS option

This is a rough patch that works for me, not sure if it is good style to repeat the same depends twice?
Comment 9 Gleb Popov freebsd_committer freebsd_triage 2024-10-16 09:47:44 UTC
(In reply to Dimitry Andric from comment #8)
I'd say this is absolutely correct, because it simply reflects dependencies defined by upstream.
Comment 10 commit-hook freebsd_committer freebsd_triage 2024-10-16 12:44:24 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=63d01f34f2ffba4cb772ab6c7260c5d3fda987e1

commit 63d01f34f2ffba4cb772ab6c7260c5d3fda987e1
Author:     Charlie Li <vishwin@FreeBSD.org>
AuthorDate: 2024-10-16 12:41:42 +0000
Commit:     Charlie Li <vishwin@FreeBSD.org>
CommitDate: 2024-10-16 12:41:42 +0000

    devel/json-glib: add missing build dependency for DOCS

    PR: 282129
    Reported by: Wassily <wassily.s [at] protonmail [dot] com>
    Pointy hat to: vishwin

 devel/json-glib/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Comment 11 Charlie Li freebsd_committer freebsd_triage 2024-10-16 12:46:15 UTC
Thanks everyone for catching this!