pkg/59854: firefox140 from 2025Q4 does not build with python314 on NetBSD-11 amd64

[email protected]
Newsgroups gmane.os.netbsd.devel.pkgsrc.bugs
Message-ID <[email protected]>
>Number:         59854
>Category:       pkg
>Synopsis:       firefox140 from 2025Q4 does not build with python314 on NetBSD-11 amd64
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Dec 23 00:20:00 +0000 2025
>Originator:     Hisashi Todd Fujinaka
>Release:        NetBSD 11.0_BETA
>Organization:
None
>Environment:
	
	
System: NetBSD mail.i8u.org 11.0_BETA NetBSD 11.0_BETA (MARA) #3500: Thu Dec 18 19:45:33 PST 2025 [email protected]:/usr/obj/amd64/sys/arch/amd64/compile/MARA amd64
Architecture: x86_64
Machine: amd64
>Description:
Trying to build firefox-esr (firefox140) from pkgsrc 2025Q4 on NetBSD-11. I get what look like python errors.

/usr/obj/pkg/www/firefox140/work.x86_64/.home/.mozbuild/srcdirs/firefox-140.6.0-8cba140349ad/_virtualenvs/build/bin/python -m mozbuild.action.file_generate /usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/xpcom/idl-parser/xpidl/header.py main xpcom/idl-parser/xpidl/xpidl.stub xpcom/idl-parser/xpidl/.deps/xpidl.stub.pp xpcom/idl-parser/xpidl/.deps/xpidl.stub.stub
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/python/mozbuild/mozbuild/action/file_generate.py", line 153, in <module>
    sys.exit(main(sys.argv[1:]))
             ~~~~^^^^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/python/mozbuild/mozbuild/action/file_generate.py", line 97, in main
    ret = module.__dict__[method](
        output, *args.additional_arguments, **kwargs
    )
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/toolkit/components/glean/build_scripts/glean_parser_ext/cache_yaml.py", line 14, in main
    parse_result = parse(args, interesting_yamls)
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/toolkit/components/glean/build_scripts/glean_parser_ext/run_glean_parser.py", line 117, in parse
    return parse_with_options(input_files, options)
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/toolkit/components/glean/build_scripts/glean_parser_ext/run_glean_parser.py", line 125, in parse_with_options
    if util.report_validation_errors(all_objs):
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/util.py", line 484, in report_validation_errors
    for error in all_objects:
                 ^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/util.py", line 250, in __iter__
    self.value = yield from self.g
                 ^^^^^^^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 480, in parse_objects
    content, filetype = yield from _load_file(filepath, config)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 98, in _load_file
    for error in validate(content, filepath):
                 ~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 160, in validate
    schema, validator = _get_schema_for_content(content, filepath)
                        ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 150, in _get_schema_for_content
    return _get_schema(schema_url, filepath)
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 129, in _get_schema
    schemas = _load_schemas()
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 117, in _load_schemas
    validator_class.check_schema(schema)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 230, in check_schema
    for error in validator.iter_errors(schema):
                 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 288, in iter_errors
    for error in errors:
                 ^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/_validators.py", line 332, in properties
    yield from validator.descend(
    ...<4 lines>...
    )
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 305, in descend
    for error in self.evolve(schema=schema).iter_errors(instance):
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 288, in iter_errors
    for error in errors:
                 ^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/_validators.py", line 294, in ref
    scope, resolved = validator.resolver.resolve(ref)
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 894, in resolve
    match = self._find_in_subschemas(url)
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 878, in _find_in_subschemas
    target_uri = self._urljoin_cache(
        self.resolution_scope, subschema["$id"],
    )
TypeError: unhashable type: 'dict'
/usr/obj/pkg/www/firefox140/work.x86_64/.home/.mozbuild/srcdirs/firefox-140.6.0-8cba140349ad/_virtualenvs/build/bin/python /usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/config/nsinstall.py -t -m 644 'buildid.h' 'dist/include'
gmake[2]: *** [backend.mk:2020: toolkit/components/glean/.deps/pings_yamls.cached.stub] Error 1
gmake[2]: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/python/mozbuild/mozbuild/action/file_generate.py", line 153, in <module>
    sys.exit(main(sys.argv[1:]))
             ~~~~^^^^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/python/mozbuild/mozbuild/action/file_generate.py", line 97, in main
    ret = module.__dict__[method](
        output, *args.additional_arguments, **kwargs
    )
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/toolkit/components/glean/build_scripts/glean_parser_ext/cache_yaml.py", line 14, in main
    parse_result = parse(args, interesting_yamls)
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/toolkit/components/glean/build_scripts/glean_parser_ext/run_glean_parser.py", line 117, in parse
    return parse_with_options(input_files, options)
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/toolkit/components/glean/build_scripts/glean_parser_ext/run_glean_parser.py", line 125, in parse_with_options
    if util.report_validation_errors(all_objs):
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/util.py", line 484, in report_validation_errors
    for error in all_objects:
                 ^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/util.py", line 250, in __iter__
    self.value = yield from self.g
                 ^^^^^^^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 480, in parse_objects
    content, filetype = yield from _load_file(filepath, config)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 98, in _load_file
    for error in validate(content, filepath):
                 ~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 160, in validate
    schema, validator = _get_schema_for_content(content, filepath)
                        ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 150, in _get_schema_for_content
    return _get_schema(schema_url, filepath)
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 129, in _get_schema
    schemas = _load_schemas()
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/glean_parser/glean_parser/parser.py", line 117, in _load_schemas
    validator_class.check_schema(schema)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 230, in check_schema
    for error in validator.iter_errors(schema):
                 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 288, in iter_errors
    for error in errors:
                 ^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/_validators.py", line 332, in properties
    yield from validator.descend(
    ...<4 lines>...
    )
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 305, in descend
    for error in self.evolve(schema=schema).iter_errors(instance):
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 288, in iter_errors
    for error in errors:
                 ^^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/_validators.py", line 294, in ref
    scope, resolved = validator.resolver.resolve(ref)
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 894, in resolve
    match = self._find_in_subschemas(url)
  File "/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/third_party/python/jsonschema/jsonschema/validators.py", line 878, in _find_in_subschemas
    target_uri = self._urljoin_cache(
        self.resolution_scope, subschema["$id"],
    )
TypeError: unhashable type: 'dict'
gmake[2]: *** [backend.mk:2012: toolkit/components/glean/.deps/metrics_yamls.cached.stub] Error 1
gmake[2]: Leaving directory '/usr/obj/pkg/www/firefox140/work.x86_64/build'
gmake[1]: *** [/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/config/recurse.mk:34: export] Error 2
gmake[1]: Leaving directory '/usr/obj/pkg/www/firefox140/work.x86_64/build'
gmake: *** [/usr/obj/pkg/www/firefox140/work.x86_64/firefox-140.6.0/config/rules.mk:359: all] Error 2
*** Error code 2

Stop.
make[2]: stopped making "reinstall" in /home/netbsd-cvs/pkgsrc-2025Q4/pkgsrc/www/firefox140
*** Error code 1

Stop.
make[1]: stopped making "reinstall" in /home/netbsd-cvs/pkgsrc-2025Q4/pkgsrc/www/firefox140
*** Error code 1

Stop.
make: stopped making "install" in /home/netbsd-cvs/pkgsrc-2025Q4/pkgsrc/www/firefox-esr
[
>How-To-Repeat:
I just did a "make install" in /usr/pkgsrc/www/firefox-esr
>Fix:
Yes please

>Unformatted:
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.