Skip to content

masonry should set PYTHONPATH (or equiv) when making manuals #17870

Open
@markcmiller86

Description

@markcmiller86

Describe the bug

I was trying to do a build with masonry from a partially built state. When I did, I encountered this error during the manuals_release phase (which is trying to run sphinx_build to make the manuals)...

Traceback (most recent call last):
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 583, in _build_master
ws.require(__requires__)
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 900, in require
needed = self.resolve(parse_requirements(requirements))
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 791, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (Sphinx 5.0.2 (/Users/miller86/Library/Python/3.7/lib/python/site-packages), Requirement.parse('Sphinx==2.2.1'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/miller86/visit/visit/33rc/release/build-mb-3.3.0-darwin-10.14-x86_64-release/thirdparty_shared/third_party/python/3.7.7/darwin-x86_64/bin/sphinx-build", line 6, in 
from pkg_resources import load_entry_point
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3191, in 
@_call_aside
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3175, in _call_aside
f(*args, **kwargs)
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3204, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 585, in _build_master
return cls._build_from_requirements(__requires__)
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 598, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'Sphinx==2.2.1' distribution was not found and is required by the application
make[3]: *** [doc/CMakeFiles/manuals] Error 1
make[2]: *** [doc/CMakeFiles/manuals.dir/all] Error 2
make[1]: *** [doc/CMakeFiles/manuals.dir/rule] Error 2
make: *** [manuals] Error 2

Its a lengthy error message but the key point is that it winds up loading pkg_release from a wholly different python3 installation...the one that is part of Xcode. We've probably gotten lucky in the past that this didn't bite us somehow but to resolve, before we run sphinx_build we probably need to set PYTHONPATH to ensure python winds up getting all its modules from VisIt's python installation.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingimpact mediumProductivity partially degraded (not easily mitigated bug) or improved (enhancement)likelihood mediumNeither low nor high likelihoodreviewedIssue has been reviewed and labeled by a developer

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions