[CDRIVER-4767] Please provide a usable archive Created: 06/Nov/23 Updated: 05/Jan/24 |
|
| Status: | Investigating |
| Project: | C Driver |
| Component/s: | Build |
| Affects Version/s: | 1.25.0 |
| Fix Version/s: | 1.25.3, 1.25.4, 1.25.5 |
| Type: | Bug | Priority: | Unknown |
| Reporter: | Remi Collet | Assignee: | Rishabh Bisht |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Description |
|
Until version 1.24.4 provided archive was usable. Since version 1.25.0 changelog states:
But this one is NOT usable -- Computing the current release version...
Adding the VERSION_CURRENT is a workaround, but build fails later
Configuration error: |
| Comments |
| Comment by Githook User [ 04/Jan/24 ] | ||
|
Author: {'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}Message: CDRIVER-4767 Support Python 3.6 in man page build (#1504)
Assignment expressions were introduced in Python 3.8
Writing union types as `X | Y` was introduced in Python 3.10.
The Union `|` operator was added in Python 3.9. See: PEP 584
Type hinting for `list`, `dict` was added in Python 3.9. See: PEP 585 | ||
| Comment by Githook User [ 04/Jan/24 ] | ||
|
Author: {'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}Message: CDRIVER-4767 Support Python 3.6 in man page build (#1504)
Assignment expressions were introduced in Python 3.8
Writing union types as `X | Y` was introduced in Python 3.10.
The Union `|` operator was added in Python 3.9. See: PEP 584
Type hinting for `list`, `dict` was added in Python 3.9. See: PEP 585 | ||
| Comment by Kevin Albertson [ 04/Jan/24 ] | ||
|
PR to restore Python 3.6 support for man page build: https://github.com/mongodb/mongo-c-driver/pull/1504
I agree. I filed | ||
| Comment by Ryan Schmidt [ 04/Jan/24 ] | ||
|
This seems to have devolved into a discussion of the secondary issue (about sphinx) but the primary issue (a git error in a directory that is not a git repository) still prevents me from building 1.25.4 from your downloadable source tarball. Remi mentioned a workaround of "adding the VERSION_CURRENT" and this worked for me, but for anyone else who wasn't sure what that meant, it means creating a file called VERSION_CURRENT at the root of the extracted source code directory. The contents of the file should be the version of the software you're building (e.g. 1.25.4). The better fix according to | ||
| Comment by Remi Collet [ 03/Jan/24 ] | ||
|
Build of 1.25.4 is OK with RHEL+EPEL 9 but KO for 8
Configuration error: | ||
| Comment by Rishabh Bisht [ 03/Jan/24 ] | ||
|
Hi remi | ||
| Comment by Kevin Albertson [ 27/Dec/23 ] | ||
|
Support for building man pages with Sphinx 1.7.6 was added back with https://github.com/mongodb/mongo-c-driver/pull/1492 and is planned for the 1.25.4 release. | ||
| Comment by Githook User [ 27/Dec/23 ] | ||
|
Author: {'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}Message: CDRIVER-4767 support Sphinx 1.7.6 (#1492)
The import path of `DirectoryHTMLBuilder` was changed from `sphinx.builders.html` to `sphinx.builders.dirhtml` in Sphinx v2.0.0
`SphinxDirective` was added in Sphinx v2.0.0
`Project` was added in Sphinx v2.0.0
But do not error otherwise. This is intended to help build man pages without HTML requirements. `Sphinx.add_css_file` was added in Sphinx v3.5.0
`config-inited` was added in Sphinx v1.8.0
`external` role was added in intersphinx extension in v4.4
`noindexentry` option was added to C domain in Sphinx v3.2
`name` option was added in Sphinx v3.0
The `config-inited` event was added in Sphinx v1.8.0
To avoid an error observed on Sphinx 1.7.6:
An error is raised at runtime with a message suggesting to install `sphinx-design`. The warning was a source of confusion in CDRIVER-4767
| ||
| Comment by Githook User [ 27/Dec/23 ] | ||
|
Author: {'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}Message: CDRIVER-4767 support Sphinx 1.7.6 (#1492)
The import path of `DirectoryHTMLBuilder` was changed from `sphinx.builders.html` to `sphinx.builders.dirhtml` in Sphinx v2.0.0
`SphinxDirective` was added in Sphinx v2.0.0
`Project` was added in Sphinx v2.0.0
But do not error otherwise. This is intended to help build man pages without HTML requirements. `Sphinx.add_css_file` was added in Sphinx v3.5.0
`config-inited` was added in Sphinx v1.8.0
`external` role was added in intersphinx extension in v4.4
`noindexentry` option was added to C domain in Sphinx v3.2
`name` option was added in Sphinx v3.0
The `config-inited` event was added in Sphinx v1.8.0
To avoid an error observed on Sphinx 1.7.6:
An error is raised at runtime with a message suggesting to install `sphinx-design`. The warning was a source of confusion in CDRIVER-4767
| ||
| Comment by Kevin Albertson [ 18/Dec/23 ] | ||
|
Here is a PR to add back support for Sphinx 1.7.6: https://github.com/mongodb/mongo-c-driver/pull/1492 | ||
| Comment by Githook User [ 07/Dec/23 ] | ||
|
Author: {'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}Message: CDRIVER-4767 import annotations to support Python 3.9 (#1490) | ||
| Comment by Githook User [ 07/Dec/23 ] | ||
|
Author: {'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}Message: CDRIVER-4767 import annotations to support Python 3.9 (#1490) | ||
| Comment by Remi Collet [ 07/Dec/23 ] | ||
|
> To confirm: is 1.2.3 the version of Sphinx used No, 1.7.6 on EL-8 and 3.4.3 on EL-9 See https://rpms.remirepo.net/rpmphp/zoom.php?rpm=python-sphinx (not an official app, but indexing repository content from Fedora, EPEL, RHEL...) | ||
| Comment by Kevin Albertson [ 07/Dec/23 ] | ||
That is a non-fatal warning. Man pages can still be built.
What version of Sphinx used? https://packages.fedoraproject.org/pkgs/python3-sphinx/python3-sphinx/ lists 1.2.3 for EPEL 7. Building with Sphinx 1.2.3 locally results in a different error:
Sorry for the trouble. The C driver tests building the RPM package on RHEL 9.0. Filed CDRIVER-4794 to propose testing with EPEL packages (assuming that is possible). | ||
| Comment by Remi Collet [ 07/Dec/23 ] | ||
|
Using patchfrom PR #1490 Build still fails Sphinx version error: | ||
| Comment by Kevin Albertson [ 06/Dec/23 ] | ||
|
Error reproduces when building with Python 3.9.18. Here is a PR with a proposed fix: https://github.com/mongodb/mongo-c-driver/pull/1490 | ||
| Comment by Remi Collet [ 06/Dec/23 ] | ||
|
rishabh.bisht@mongodb.com don't know if python-sphinx-design issue is resolved, btw build still failing somewhere else, probably related to other changes (python or shpinx ?)
There is a programmable error in your configuration file:Traceback (most recent call last): | ||
| Comment by Rishabh Bisht [ 05/Dec/23 ] | ||
|
Hi remi , Could you please check if the provided fix is good enough to get latest version of C Driver (1.25.2) into EPEL? Thanks! | ||
| Comment by Rishabh Bisht [ 24/Nov/23 ] | ||
|
Thanks for confirming. I have logged | ||
| Comment by Remi Collet [ 23/Nov/23 ] | ||
|
> Is this because of the python-sphinx-design package missing in EPEL?
Mostly yes | ||
| Comment by Rishabh Bisht [ 23/Nov/23 ] | ||
|
Hi remi
Is this because of the python-sphinx-design package missing in EPEL? | ||
| Comment by Rishabh Bisht [ 09/Nov/23 ] | ||
|
remi BUILD_VERSION issue should be fixed with Looks like there is no action item for us here at the moment, but please let me know if I am missing something. Thank you! PS: libutf8proc is shipped as a part of C driver so even if libutf8proc library is not present, it should not cause an issue. | ||
| Comment by Remi Collet [ 07/Nov/23 ] | ||
|
Documentation is not mandatory, but as it was provided until 1.24.0, this could be considered as a breakage So: https://bugzilla.redhat.com/show_bug.cgi?id=2248522 Dependency change (libicu => libutf8proc) may also be another problem BTW, probably going to keep old 1.24 in EPEL forever
| ||
| Comment by Kevin Albertson [ 07/Nov/23 ] | ||
|
remi sorry for the trouble. Is building HTML documentation needed for the package? If no, configuring with ENABLE_HTML_DOCS=OFF may be a workaround. | ||
| Comment by Remi Collet [ 06/Nov/23 ] | ||
|
Adding python3-sphinx-design allows to build it on Fedora. As this dependency is missing on RHEL, it is not possible anymore to build this project there | ||
| Comment by PM Bot [ 06/Nov/23 ] | ||
|
Hi remi, thank you for reporting this issue! The team will look into it and get back to you soon. |