Skip to content

requirements.txt updates - #485

Merged
deb-intel merged 2 commits into
thesofproject:masterfrom
deb-intel:sphinx-update
Feb 23, 2024
Merged

deb-intel merged 2 commits into
thesofproject:masterfrom
deb-intel:sphinx-update

Conversation

@deb-intel

Copy link
Copy Markdown
Collaborator

sphinxcontrib-applehelp was recently updated to 1.0.6. This caused a series of compatibility issues between sphinxcontrib-applehelp, sphinx, and breathe, which caused all recent builds to fail. To lessen this problem both now and in the future, we removed hardcoded software versions in the requirements.tx file although we updated sphinx to 7.0 or higher. This will enable the system to pick compatible software versions to match our needs.

Signed-off-by: Deb <deb.taylor@intel.com>
Signed-off-by: Deb <deb.taylor@intel.com>
@mwasko

mwasko commented Feb 19, 2024

Copy link
Copy Markdown
Contributor

sphinxcontrib-applehelp was recently updated to 1.0.6. This caused a series of compatibility issues between sphinxcontrib-applehelp, sphinx, and breathe, which caused all recent builds to fail.

It looks like a gap in the requirements list to point to specific sphinxcontrib-applehelp version?

To lessen this problem both now and in the future, we removed hardcoded software versions in the requirements.tx file although we updated sphinx to 7.0 or higher. This will enable the system to pick compatible software versions to match our needs.

How this approach is going to guarantee that our SOF documentation will compile successfully with latest tools version?

@lgirdwood

Copy link
Copy Markdown
Member

sphinxcontrib-applehelp was recently updated to 1.0.6. This caused a series of compatibility issues between sphinxcontrib-applehelp, sphinx, and breathe, which caused all recent builds to fail.

It looks like a gap in the requirements list to point to specific sphinxcontrib-applehelp version?

To lessen this problem both now and in the future, we removed hardcoded software versions in the requirements.tx file although we updated sphinx to 7.0 or higher. This will enable the system to pick compatible software versions to match our needs.

How this approach is going to guarantee that our SOF documentation will compile successfully with latest tools version?

IIRC, we align with the same versions used by the Zephyr docs (as SOF docs and Zephyr docs use the same framework). @deb-intel is my understanding still correct ?

@deb-intel

Copy link
Copy Markdown
Collaborator Author

@mwasko @lgirdwood When @intelkevinputnam and I built SOF locally, the build set the proper requirements based on our setting Sphinx to >=7. It automatically new to use sphinxcontrib-applehelp version 1.0.4 instead of 1.0.6 as well as the best version of breathe. The build kept failing because we kept giving it specific versions. I think this will continue to happen every time breathe, docutils, and software we didn't even know about (such as -applehelp) makes updates.

@deb-intel

Copy link
Copy Markdown
Collaborator Author

IIRC, we align with the same versions used by the Zephyr docs (as SOF docs and Zephyr docs use the same framework). @deb-intel is my understanding still correct ?

@lgirdwood I am not familiar with how Zephyr handles things. I know they no longer have a full-time doc person. I'll ask one of our guys if he can see what's up with their requirements.

@intelkevinputnam

Copy link
Copy Markdown
Collaborator

I recommend moving to version 7 of sphinx. A good option for a specific version is 7.1.2 as this will have the broadest compatibility for those who might want to build it locally (later versions require Python 10 or better).

@lgirdwood

Copy link
Copy Markdown
Member

Thanks @deb-intel @intelkevinputnam for explaining.

@lgirdwood

Copy link
Copy Markdown
Member

@mwasko good for you now ?

@deb-intel
deb-intel merged commit 533bf84 into thesofproject:master Feb 23, 2024
@marc-hb

marc-hb commented Feb 24, 2024 •

Copy link
Copy Markdown
Collaborator

When @intelkevinputnam and I built SOF locally,

What is "locally"? Ubuntu, Fedora, other? Which version? Each distribution and even each user has a different combination. Versions were hardcoded in requirements.txt to solve that problem (We already have requirements-lax.txt for more flexibility)

The build kept failing because we kept giving it specific versions.

In that case you just un-hardcode locally and temporarily, find a complete set of versions that works (as you already did) and then snapshot and hardcode that combination. Problem solved for everyone and for a long time as opposed to just on one system for a short time. That has been working and it can work again.

It looks like a gap in the requirements list to point to specific sphinxcontrib-applehelp version?

Yes of course. The solution was to hardcode MORE, not less.

I think this will continue to happen every time breathe, docutils, and software we didn't even know about (such as -applehelp) makes updates.

It will for sure happen again very soon now that all the versions are un-harcoded. In fact it's already happening:

PS: I spent days finding combinations that work, please copy me next time.

Comment thread scripts/requirements.txt
breathe==4.29.2
sphinx==4.5.0
docutils==0.17.1

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment still says "This file hardcodes..."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants