Opened 3 years ago

Closed 3 years ago

#8256 closed defect (fixed)

Documentation links missing

Reported by: pett Owned by: Zach Pearson
Priority: high Milestone: 1.6
Component: Documentation Version:
Keywords: Cc: chimera-programmers
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

In the 1.5 release, clicking on Help→Programming Manual, then "API Reference", then "Python Classes" produces a list of classes and short descriptions. Those class names are links that go to pages that describe them in greater detail. In the current daily build they are not links -- they are just bold text.

Change History (15)

comment:1 by Zach Pearson, 3 years ago

On it, I was able to see the problem in today's build too. I checked readthedocs builds and they're failing at the last step with Sphinx trying to import stuff from cage_builder. Doing a local build to see what happens.

comment:2 by Zach Pearson, 3 years ago

Let's see if the fixes that made ReadtheDocs work again also make tomorrow's daily build work. I wish I could guarantee it, but documentation works for local builds.

comment:3 by pett, 3 years ago

Fingers crossed! :-)

comment:4 by pett, 3 years ago

Are your fixes on the develop branch? When I try to "make install" in docs I get various errors, such as:

# This code path handles a built ChimeraX, for the Plato build
# system or on a user's local machine. On readthedocs, the
# symlinks are made in Makefile.readthedocs
if [ -d /Users/pett/src/chimerax/ChimeraX.app/Contents/lib/python3.9/site-packages ]; then \

ln -s /Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax chimerax ; \
INTERNAL_CHIMERAX=1 /Users/pett/src/chimerax/utils/doc_symlinks.sh ; \

fi

/Users/pett/src/chimerax/utils/doc_symlinks.sh: line 4: realpath: command not found
/Users/pett/src/chimerax/utils/doc_symlinks.sh: line 9: mapfile: command not found
/Users/pett/src/chimerax/utils/doc_symlinks.sh: line 10: mapfile: command not found
/Users/pett/src/chimerax/utils/doc_symlinks.sh: line 11: mapfile: command not found
ln: docs/devel/: No such file or directory
mkdir: /docs/devel: No such file or directory
/Users/pett/src/chimerax/utils/doc_symlinks.sh: line 37: cd: /docs/devel/modules: No such file or directory
/Users/pett/src/chimerax/ChimeraX.app/Contents/bin/python3.9 -I /Users/pett/src/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/bin/sphinx-build -b html -d _build/doctrees . _build/html
find: src/bundles: No such file or directory
find: src/bundles//docs: No such file or directory
find: src/bundles/
/docs: No such file or directory

comment:5 by pett, 3 years ago

I don't think essex2 has those commands either.

comment:6 by Zach Pearson, 3 years ago

It looks like mapfile is a builtin of Bash 4 (released around 2009). essex2 has 3.2.

realpath is one of the GNU coreutils which can be installed on macs with homebrew but comes with Ventura at /bin/realpath

I can look for workarounds for each of them, but the path of least resistance is brew update && brew upgrade && brew install bash coreutils

comment:7 by pett, 3 years ago

Installing those via brew did get my documentation build to work, and the links active. The daily build is still not showing links for the classes and looking at the output I see that essex2 is having the exact same problems with "realpath" and "mapfile". I'm brew-installing those on essex2 and we'll see if that makes things better tomorrow -- but I dunno, brew's bash is in /usr/local/bin, so will it find that before /bin? Also, brew installed realpath as grealpath.

Would be nice to have a better way to notice that building the documentation has failures.

in reply to:  8 ; comment:8 by goddard@…, 3 years ago

I hope the builds for everyone else on Macs don't require installing new tools now.  In the past it only needed Xcode and if we want to encourage outside developers down the road we should keep it that way.

comment:9 by pett, 3 years ago

The class names continue to not be links in today's build. Looking at the output it seems that it was okay that realpath was named grealpath, but "mapfile" continues to not be found, undoubtedly because the bash that supports that is /usr/local/bin/bash rather than /bin/bash.

comment:10 by pett, 3 years ago

Milestone: 1.6

Still no links in today's build.

comment:11 by Zach Pearson, 3 years ago

Resolution: fixed
Status: assignedclosed

I made the default bash for the chimera account /usr/local/bin/bash, which is version 5.2 -- released last year, vs. 3.2 which was released in 2006. I then fired off a build, which was successful.

if [ -d /Users/chimera/src/ChimeraX/ChimeraX.app/Contents/lib/python3.9/site-packages ]; then \
		ln -s /Users/chimera/src/ChimeraX/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/chimerax chimerax ; \
		INTERNAL_CHIMERAX=1 /Users/chimera/src/ChimeraX/utils/doc_symlinks.sh ; \
	fi
/Users/chimera/src/ChimeraX/ChimeraX.app/Contents/bin/python3.9 -I /Users/chimera/src/ChimeraX/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/bin/sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v5.1.1
making output directory... done

Should work tomorrow.

comment:12 by pett, 3 years ago

Resolution: fixed
Status: closedreopened

The daily build continues to have bold text instead of links, likely because euclid, the ARM build machine, has the same problems with mapfile and realpath.

comment:13 by Zach Pearson, 3 years ago

I installed coreutils and bash 5.2 on euclid, then fired off a build, which was again successful with the same output as above.

Frustratingly, the links are still just bold text. I checked today's build results; for some reason the chimera account on euclid did not find realpath or the new bash.

comment:14 by Zach Pearson, 3 years ago

I made sure that /opt/homebrew/bin was on the path for whatever environment "ssh chimera@… bash" (from the nightly script) conjures, so this should finally start working tomorrow.

comment:15 by Zach Pearson, 3 years ago

Resolution: fixed
Status: reopenedclosed

Documentation links are working again as of today's daily build.

Note: See TracTickets for help on using tickets.