Bug 2329837 - ipython fails to build with sphinx 8.x: ERROR: Invalid inventory location value `''` in intersphinx_mapping['python'][1].
Summary: ipython fails to build with sphinx 8.x: ERROR: Invalid inventory location val...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: ipython
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Lumír Balhar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: SPHINX8
TreeView+ depends on / blocked
 
Reported: 2024-12-02 10:12 UTC by Tomáš Hrnčiar
Modified: 2024-12-03 06:27 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-12-03 06:27:37 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
This patch should fix the problem. (2.40 KB, patch)
2024-12-02 10:14 UTC, Tomáš Hrnčiar
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Github ipython ipython issues 14595 0 None open Docs build with Sphinx 8 2024-12-02 15:24:19 UTC

Description Tomáš Hrnčiar 2024-12-02 10:12:23 UTC
ipython fails to build with sphinx 8.x in Fedora 42 (currently Rawhide).

The issue detected:
```
ERROR: Invalid inventory location value `''` in intersphinx_mapping['python'][1]. Inventory locations must be non-empty strings or None.
ERROR: Invalid inventory location value `''` in intersphinx_mapping['rpy2'][1]. Inventory locations must be non-empty strings or None.
ERROR: Invalid inventory location value `''` in intersphinx_mapping['jupyterclient'][1]. Inventory locations must be non-empty strings or None.
ERROR: Invalid inventory location value `''` in intersphinx_mapping['jupyter'][1]. Inventory locations must be non-empty strings or None.
ERROR: Invalid inventory location value `''` in intersphinx_mapping['jedi'][1]. Inventory locations must be non-empty strings or None.
ERROR: Invalid inventory location value `''` in intersphinx_mapping['traitlets'][1]. Inventory locations must be non-empty strings or None.
ERROR: Invalid inventory location value `''` in intersphinx_mapping['ipykernel'][1]. Inventory locations must be non-empty strings or None.
ERROR: Invalid inventory location value `''` in intersphinx_mapping['prompt_toolkit'][1]. Inventory locations must be non-empty strings or None.
ERROR: Invalid inventory location value `''` in intersphinx_mapping['ipywidgets'][1]. Inventory locations must be non-empty strings or None.
ERROR: Invalid inventory location value `''` in intersphinx_mapping['ipyparallel'][1]. Inventory locations must be non-empty strings or None.
ERROR: Invalid inventory location value `''` in intersphinx_mapping['pip'][1]. Inventory locations must be non-empty strings or None.

Configuration error:
Invalid `intersphinx_mapping` configuration (11 errors).
```

The intersphinx_mapping error can be easily fixed by adjusting conf.py.
You can take an inspiration from this PR: https://github.com/jupyterlab/jupyterlab/pull/14423

Please work with upstream on this issue, I plan to ship sphinx 8 in two weeks.


For the logs from testing build attempts, see:
https://copr.fedorainfracloud.org/coprs/thrnciar/python-sphinx/package/ipython/

You can test you package in mock running:

$ mock -r fedora-rawhide-x86_64
--addrepo=https://download.copr.fedorainfracloud.org/results/thrnciar/python-sphinx/fedora-rawhide-x86_64/ --no-clean your.src.rpm
$ mock -r fedora-rawhide-x86_64
--addrepo=https://download.copr.fedorainfracloud.org/results/thrnciar/python-sphinx/fedora-rawhide-x86_64/ shell

We'd like to include Sphinx 8 in Fedora 42.
Let us know here if you have any questions. Thank you!

Comment 1 Tomáš Hrnčiar 2024-12-02 10:14:43 UTC
Created attachment 2060789 [details]
This patch should fix the problem.

Comment 2 Lumír Balhar 2024-12-02 14:38:32 UTC
The patch makes Sphinx to search for the file named 'null' so it does not fail but complains about missing file:

loading intersphinx inventory 'jupyterclient' from null ...
WARNING: failed to reach any of the inventories with the following issues:
intersphinx inventory 'null' not fetchable due to <class 'FileNotFoundError'>: [Errno 2] No such file or directory: '/builddir/build/BUILD/ipython-8.30.0-build/ipython-8.30.0/docs/source/null'

Comment 3 Lumír Balhar 2024-12-03 06:27:37 UTC
Fixed in https://src.fedoraproject.org/rpms/ipython/pull-request/83


Note You need to log in before you can comment on or make changes to this bug.