[ros-release] Sphinx and Doc Building on the Farm

Daniel Stonier d.stonier at gmail.com
Tue May 6 03:10:42 UTC 2014

On 6 May 2014 03:42, William Woodall <william at osrfoundation.org> wrote:

> Daniel, that is a CMake warning, the less than optimal 'catkin_basic'
> which was created before my time is naively trying to find package all of
> your dependencies, the fact that it is not finding catkin_pkg is expected.
> I think that is a red herring, and has nothing to do with your problems.
> This is actually the problem:
> ```
> /home/rosbuild/hudson/workspace/doc-indigo-rocon_tools/doc_stacks/2014-05-05_10-39-35.247521/rocon_tools/rocon_interactions/doc/modules.rst:72: WARNING: autodoc: failed to import module u'rocon_interactions.web_interactions'; the following exception was raised:
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/dist-packages/sphinx/ext/autodoc.py", line 335, in import_object
>     __import__(self.modname)
>   File "/home/rosbuild/hudson/workspace/doc-indigo-rocon_tools/doc_stacks/2014-05-05_10-39-35.247521/local_installs/lib/python2.7/dist-packages/rocon_interactions/__init__.py", line 20, in <module>
>     from .manager import InteractionsManager
>   File "/home/rosbuild/hudson/workspace/doc-indigo-rocon_tools/doc_stacks/2014-05-05_10-39-35.247521/local_installs/lib/python2.7/dist-packages/rocon_interactions/manager.py", line 31, in <module>
>     import rocon_uri
>   File "/home/rosbuild/hudson/workspace/doc-indigo-rocon_tools/doc_stacks/2014-05-05_10-39-35.247521/local_installs/lib/python2.7/dist-packages/rocon_uri/__init__.py", line 23, in <module>
>     from uri import parse, is_compatible, RoconURI
>   File "/home/rosbuild/hudson/workspace/doc-indigo-rocon_tools/doc_stacks/2014-05-05_10-39-35.247521/local_installs/lib/python2.7/dist-packages/rocon_uri/uri.py", line 150, in <module>
>     class RoconURI(object):
>   File "/home/rosbuild/hudson/workspace/doc-indigo-rocon_tools/doc_stacks/2014-05-05_10-39-35.247521/local_installs/lib/python2.7/dist-packages/rocon_uri/uri.py", line 176, in RoconURI
>     ebnf_rules = rules.load_ebnf_rules()
>   File "/home/rosbuild/hudson/workspace/doc-indigo-rocon_tools/doc_stacks/2014-05-05_10-39-35.247521/local_installs/lib/python2.7/dist-packages/rocon_uri/rules.py", line 107, in load_ebnf_rules
>     yaml_rules = load_rules_into_dictionary()
>   File "/home/rosbuild/hudson/workspace/doc-indigo-rocon_tools/doc_stacks/2014-05-05_10-39-35.247521/local_installs/lib/python2.7/dist-packages/rocon_uri/rules.py", line 48, in load_rules_into_dictionary
>     with open(yaml_filename) as f:
> IOError: [Errno 2] No such file or directory: u'/home/rosbuild/hudson/workspace/doc-indigo-rocon_tools/doc_stacks/2014-05-05_10-39-35.247521/local_installs/share/rocon_uri/yaml/rules.yaml'
> ```

How did I miss that? Thanks William. However it does raise another

That import above is crawling through the
instead of the source installed
*doc_stacks/2014-05-05_10-39-35.247521/rocon_tools/rocon_uri*. This is a
result of a call to  *roslib.packages.get_pkg_dir('rocon_uri')* which picks
up the deb installed not the local installed dir. This problem will go away
as soon as the deb release catches up with the sources and that install
rule is fixed.

However, if the build changes:




then would it avoid inadvertantly importing old released modules instead of
the ones we are trying to doc?

Additionally, and I guess this is a pythonic thing, I perhaps shouldn't be
loading up file data into a class variable. I can think of workarounds to
that but it will take a little while to get that to happen.

Again, thanks William.

> On Mon, May 5, 2014 at 11:30 AM, Daniel Stonier <d.stonier at gmail.com>wrote:
>> Hi,
>> I have recently been using sphinx and just tried auto-configuring the
>> version in the *conf.py* by including the following lines at the top:
>> import os import catkin_pkg.package catkin_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  catkin_package = catkin_pkg.package.parse_package(os.path.join(catkin_dir, catkin_pkg.package.PACKAGE_MANIFEST_FILENAME))
>> and further down:
>>  version = catkin_package.version release = catkin_package.version
>> This works fine locally with python-catkin-pkg installed. However on the
>> build farm, it's running into a problem not being able to find catkin_pkg
>> for importing:
>> CMake Warning at /opt/ros/indigo/share/catkin_basic/cmake/catkin_basicConfig.cmake:12 (find_package):
>>   By not providing "Findpython-catkin-pkg.cmake" in CMAKE_MODULE_PATH this
>>   project has asked CMake to find a package configuration file provided by
>>   "python-catkin-pkg", but CMake did not find one.
>>   Could not find a package configuration file provided by "python-catkin-pkg"
>>   with any of the following names:
>>     python-catkin-pkgConfig.cmake
>>     python-catkin-pkg-config.cmake
>>   Add the installation prefix of "python-catkin-pkg" to CMAKE_PREFIX_PATH or
>>   set "python-catkin-pkg_DIR" to a directory containing one of the above
>>   files.  If "python-catkin-pkg" provides a separate development package or
>>   SDK, be sure it has been installed.
>> Call Stack (most recent call first):
>>   /opt/ros/indigo/share/catkin_basic/cmake/catkin_basicConfig.cmake:54 (select_catkin_dependencies)
>>   rocon_tools/rocon_icons/CMakeLists.txt:3 (catkin_basic)
>> Full log here<http://jenkins.ros.org/job/doc-indigo-rocon_tools/11/consoleFull>
>> .
>> Is there currently a correct way to make this happen?  I'm out of ideas.
>> Cheers,
>> Daniel.
>> _______________________________________________
>> ros-release mailing list
>> ros-release at code.ros.org
>> http://lists.ros.org/mailman/listinfo/ros-release
> --
> William Woodall
> ROS Development Team
> william at osrfoundation.org
> http://wjwwood.io/

Phone : +82-10-5400-3296 (010-5400-3296)
Home: http://snorriheim.dnsdojo.com/
Yujin R&D: http://rnd.yujinrobot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-release/attachments/20140506/af6c36fb/attachment-0001.html>

More information about the ros-release mailing list