Re: [ros-users] Variant "base" does not exist in the unstabl…

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: User discussions
Subject: Re: [ros-users] Variant "base" does not exist in the unstable disro file.
Hi William,
We are planning new variants for Diamondback and they are mostly layed
down. You can see the working plan here
http://www.ros.org/wiki/diamondback/Planning/Variants I've filed a ticket
to help with the error reporting at
https://code.ros.org/trac/ros/ticket/3283

Tully

On Sun, Jan 30, 2011 at 1:28 PM, William Woodall <> wrote:

> I am trying to install ROS unstable on my Mac and the rosinstall command
> fails with a traceback:
>
> Traceback (most recent call last):
>   File
> "/opt/local/Library/Frameworks/Python.framework/Versions/Current/bin/rosinstall",
> line 551, in <module>
>     sys.exit(not rosinstall_main(sys.argv))
>   File
> "/opt/local/Library/Frameworks/Python.framework/Versions/Current/bin/rosinstall",
> line 508, in rosinstall_main
>     result = insert_source_yaml(source_yaml, a, observed_paths,
> aggregate_source_yaml)
>   File
> "/opt/local/Library/Frameworks/Python.framework/Versions/Current/bin/rosinstall",
> line 385, in insert_source_yaml
>     if not element[k]:
> TypeError: string indices must be integers, not str

>
> Which after some digging I found out is an unhandled exception here in the
> rosinstall.helpers.get_yaml_from_uri function:
>
> def get_yaml_from_uri(uri):
>
>    # now that we've got a config uri and a path, let's move out.
>   u = urlparse.urlparse(uri)
>   f = 0
>   if u.scheme == '': # maybe it's a local file?
>     try:
>       f = open(uri, 'r')
>     except IOError, e:
>       print >> sys.stderr, "ahhhh error opening file: %s" % e
>       return None
>   else:
>     try:
>       f = urllib2.urlopen(uri)
>     except IOError, e:
>       print >> sys.stderr, "ahhhhh got an error from the interwebs: %s" % e
>   if not f:
>     print >> sys.stderr, "couldn't load config uri %s" % uri
>     return None
>   try:
>     y = yaml.load(f); #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< This
> returns the string "Variant "base" does not exist in the unstable disro
> file." rather than throwing an exception
>   except yaml.YAMLError, e:
>     print >> sys.stderr, "ahhhhhhhh, yaml parse error: %s" % e # long ahh
>     return None
>   return y

>
> Which gets returned and manifested as the TypeError above.
>
> So, the real problem is that the rosinstall url from
> http://www.ros.org/wiki/unstable/Installation/Ubuntu/source and
> http://www.ros.org/wiki/unstable/Installation/OSX,
> https://code.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=unstable&variant=base&overlay=no,
> returns the string "Variant "base" does not exist in the unstable disro
> file." rather then yaml.
>
> This is true of variants "ros" and "base", but "pr2" seems to return yaml,
> I might try to install using it for now.
>
> Is there a reason that unstable doesn't have "ros" and "base" or are things
> just changing with unstable's variant layout atm?
>
> Thanks,
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> William Woodall
> Graduate Software Engineering
> Auburn University
>
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> _______________________________________________
> ros-users mailing list
>
> https://code.ros.org/mailman/listinfo/ros-users
>
>



--
Tully Foote
Systems Engineer
Willow Garage, Inc.

(650) 475-2827