ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Testing posting an answer... Have a real one but it's not going through?
2 | No.2 Revision |
Testing posting an answer... Have a real one I got this today while trying to install ROS Hydro on my Raspberry Pi as per [1]. Overall, installing ROS from source is very aggravating and maybe someday I'll try to make some similar framework that just gets the job done and doesn't have all this extra crap to deal with... but it's not going through?
Looks like you've got a circular dependency amongst your packages. Of course, it won't straight up tell you that's the problem though--no that would be far too kind--you must manually edit your catkin_pkg/topological_order.py
and look for this comment:
# in case of a circular dependency pass a string with
# the names list of remaining package names, with path
# None to indicate cycle
Then after appending to ordered_packages
you could add a line like:
print('Circular dependency within packages: {}'.format(ordered_packages[-1][1]))
It's up to you to muck around with the package.xml
files until the cycle is broken and everything still somehow builds. That's what I'm doing right now. Good luck.
PS - That line I suggest adding really should just be in there already WTF people?
3 | No.3 Revision |
I got this today while trying to install ROS Hydro on my Raspberry Pi as per [1]. Overall, installing ROS from source is very aggravating and maybe someday I'll try to make some similar framework that just gets the job done and doesn't have all this extra crap to deal with... but as to our problem...
Looks like you've got a circular dependency amongst your packages. Of course, it won't straight up tell you that's the problem though--no that would be far too kind--you must manually edit your catkin_pkg/topological_order.py
and look for this comment:
# in case of a circular dependency pass a string with
# the names list of remaining package names, with path
# None to indicate cycle
Then after appending to ordered_packages
you could add a line like:
print('Circular dependency within packages: {}'.format(ordered_packages[-1][1]))
It's up to you to muck around with the package.xml
files until the cycle is broken and everything still somehow builds. That's what I'm doing right now. Good luck.
PS - That line I suggest adding really should just be in there already WTF people?
[1] (Stupid site doesn't say I can't post links... You'll have to remove the spaces) http:// wiki.ros.org/ ROSberryPi/Setting%20up%20Hydro%20on%20RaspberryPi
4 | No.4 Revision |
I got this today while trying to install ROS Hydro on my Raspberry Pi as per [1]. Overall, installing ROS from source is very aggravating and maybe someday I'll try to make some similar framework that just gets the job done and doesn't have all this extra crap to deal with... but as to our problem...
Looks like you've got a circular dependency amongst your packages. Of course, it won't straight up tell you that's the problem though--no that would be far too kind--you must manually edit your catkin_pkg/topological_order.py
and look for this comment:
# in case of a circular dependency pass a string with
# the names list of remaining package names, with path
# None to indicate cycle
Then after appending to ordered_packages
you could add a line like:
print('Circular dependency within packages: {}'.format(ordered_packages[-1][1]))
It's up to you to muck around with the package.xml
files until the cycle is broken and everything still somehow builds. That's what I'm doing right now. Good luck.
PS - That line I suggest adding really should just be in there already WTF people?
[1] (Stupid site doesn't say I can't post links... You'll have to remove the spaces) http:// wiki.ros.org/ ROSberryPi/Setting%20up%20Hydro%20on%20RaspberryPi
EDIT THE FIRST:
I managed to get past this error condition by commenting out as few <build-depend>
entries as possible within my set of circularly depend packages but there's another edit I made to topological_order.py
make this easier. In the second while
loop of _sort_decorated_packages
:
while len(packages) > 0:
# find all packages without build dependencies
message_generators = []
non_message_generators = []
for name, decorator in packages.items():
# I added the next two lines so that a package doesn't get stuck depending on only itself
if name in decorator.depends_for_topological_order:
decorator.depends_for_topological_order.remove(name)
if not decorator.depends_for_topological_order:
if decorator.message_generator:
message_generators.append(name)
else:
non_message_generators.append(name)
No new problems yet but the RasPi is a little slow so we'll see... in any case at this point it would be different from this particular issue. Good luck again!
5 | No.5 Revision |
I got this today while trying to install ROS Hydro on my Raspberry Pi as per [1]. Overall, installing ROS from source is very aggravating and maybe someday I'll try to make some similar framework that just gets the job done and doesn't have all this extra crap to deal with... but as to our problem...
Looks like you've got a circular dependency amongst your packages. Of course, it won't straight up tell you that's the problem though--no that would be far too kind--you must manually edit your catkin_pkg/topological_order.py
and look for this comment:
# in case of a circular dependency pass a string with
# the names list of remaining package names, with path
# None to indicate cycle
Then after appending to ordered_packages
you could add a line like:
print('Circular dependency within packages: {}'.format(ordered_packages[-1][1]))
It's up to you to muck around with the package.xml
files until the cycle is broken and everything still somehow builds. That's what I'm doing right now. Good luck.
PS - That line I suggest adding really should just be in there already WTF people?
[1] (Stupid site doesn't say I can't post links... You'll have to remove the spaces) http:// wiki.ros.org/ ROSberryPi/Setting%20up%20Hydro%20on%20RaspberryPi
EDIT THE FIRST:
I managed to get past this error condition by commenting out as few <build-depend>
entries as possible within my set of circularly depend dependent packages but there's another edit I made to topological_order.py
make this easier. In the second while
loop of _sort_decorated_packages
:
while len(packages) > 0:
# find all packages without build dependencies
message_generators = []
non_message_generators = []
for name, decorator in packages.items():
# I added the next two lines so that a package doesn't get stuck depending on only itself
if name in decorator.depends_for_topological_order:
decorator.depends_for_topological_order.remove(name)
if not decorator.depends_for_topological_order:
if decorator.message_generator:
message_generators.append(name)
else:
non_message_generators.append(name)
No new problems yet but the RasPi is a little slow so we'll see... in any case at this point it would be different from this particular issue. Good luck again!
PS - This edit also seems like an oversight in the code? Won't know for sure until the build finishes though
6 | No.6 Revision |
I got this today while trying to install ROS Hydro on my Raspberry Pi as per [1]. Overall, installing ROS from source is very aggravating and maybe someday I'll try to make some similar framework that just gets the job done and doesn't have all this extra crap to deal with... but as to our problem...
Looks like you've got a circular dependency amongst your packages. Of course, it won't straight up tell you that's the problem though--no that would be far too kind--you must manually edit your catkin_pkg/topological_order.py
and look for this comment:
# in case of a circular dependency pass a string with
# the names list of remaining package names, with path
# None to indicate cycle
Then after appending to ordered_packages
you could add a line like:
print('Circular dependency within packages: {}'.format(ordered_packages[-1][1]))
It's up to you to muck around with the package.xml
files until the cycle is broken and everything still somehow builds. That's what I'm doing right now. Good luck.
PS - That line I suggest adding really should just be in there already WTF people?
[1] (Stupid site doesn't say I can't post links... You'll have to remove the spaces) http:// wiki.ros.org/ ROSberryPi/Setting%20up%20Hydro%20on%20RaspberryPi
EDIT THE FIRST:
I managed to get past this error condition by commenting out as few <build-depend>
entries as possible within my set of circularly dependent packages but there's another edit I made to topological_order.py
make this easier. In the second while
loop of _sort_decorated_packages
:
while len(packages) > 0:
# find all packages without build dependencies
message_generators = []
non_message_generators = []
for name, decorator in packages.items():
# I added Add the next two lines so that a package doesn't get stuck depending on only itself
if name in decorator.depends_for_topological_order:
decorator.depends_for_topological_order.remove(name)
if not decorator.depends_for_topological_order:
if decorator.message_generator:
message_generators.append(name)
else:
non_message_generators.append(name)
No new problems yet but the RasPi is a little slow so we'll see... in any case at this point it would be different from this particular issue. Good luck again!
PS - This edit also seems like an oversight in the code? Won't know for sure until the build finishes though
7 | No.7 Revision |
I got this today while trying to install ROS Hydro on my Raspberry Pi as per [1]. Overall, installing ROS from source is very aggravating and maybe someday I'll try to make some similar framework that just gets the job done and doesn't have all this extra crap to deal with... but as to our problem...
Looks like you've got a circular dependency amongst your packages. Of course, it won't straight up tell you that's the problem though--no that would be far too kind--you must manually edit your catkin_pkg/topological_order.py
and look for this comment:
# in case of a circular dependency pass a string with
# the names list of remaining package names, with path
# None to indicate cycle
Then after appending to ordered_packages
you could add a line like:
print('Circular dependency within packages: {}'.format(ordered_packages[-1][1]))
It's up to you to muck around with the package.xml
files until the cycle is broken and everything still somehow builds. That's what I'm doing right now. Good luck.
PS - That line I suggest adding really should just be in there already WTF people?
[1] (Stupid site doesn't say I can't post links... You'll have to remove the spaces) http:// wiki.ros.org/ ROSberryPi/Setting%20up%20Hydro%20on%20RaspberryPi
EDIT THE FIRST:
I managed to get past this error condition by commenting out as few <build-depend>
entries as possible within my set of circularly dependent packages but there's another edit I made to topological_order.py
to make this easier. In the second while
loop of _sort_decorated_packages
:
while len(packages) > 0:
# find all packages without build dependencies
message_generators = []
non_message_generators = []
for name, decorator in packages.items():
# Add the next two lines so that a package doesn't get stuck depending on only itself
if name in decorator.depends_for_topological_order:
decorator.depends_for_topological_order.remove(name)
if not decorator.depends_for_topological_order:
if decorator.message_generator:
message_generators.append(name)
else:
non_message_generators.append(name)
No new problems yet but the RasPi is a little slow so we'll see... in any case at this point it would be different from this particular issue. Good luck again!
PS - This edit also seems like an oversight in the code? Won't know for sure until the build finishes though
EDIT THE SECOND:
I spoke too soon. After having satisfied topological_order.py
with package.xml
comments, cmake
may get mad at some packages because it expects to see the a dependency but doesn't... so you'll want to revert said changes in those packages after building starts proper but before the modified package is built. That's a mouthful and I apologize in advance but it worked for me.
8 | No.8 Revision |
I got this today while trying to install ROS Hydro on my Raspberry Pi as per [1]. Overall, installing ROS from source is very aggravating and maybe someday I'll try to make some similar framework that just gets the job done and doesn't have all this extra crap to deal with... but as to our problem...
Looks like you've got a circular dependency amongst your packages. Of course, it won't straight up tell you that's the problem though--no that would be far too kind--you must manually edit your catkin_pkg/topological_order.py
and look for this comment:
# in case of a circular dependency pass a string with
# the names list of remaining package names, with path
# None to indicate cycle
Then after appending to ordered_packages
you could add a line like:
print('Circular dependency within packages: {}'.format(ordered_packages[-1][1]))
It's up to you to muck around with the package.xml
files until the cycle is broken and everything still somehow builds. That's what I'm doing right now. Good luck.
PS - That line I suggest adding really should just be in there already WTF people?
[1] (Stupid site doesn't say I can't post links... You'll have to remove the spaces) http:// wiki.ros.org/ ROSberryPi/Setting%20up%20Hydro%20on%20RaspberryPi
EDIT THE FIRST:
I managed to get past this error condition by commenting out as few <build-depend>
entries as possible within my set of circularly dependent packages but there's another edit I made to topological_order.py
to make this easier. In the second while
loop of _sort_decorated_packages
:
while len(packages) > 0:
# find all packages without build dependencies
message_generators = []
non_message_generators = []
for name, decorator in packages.items():
# Add the next two lines so that a package doesn't get stuck depending on only itself
if name in decorator.depends_for_topological_order:
decorator.depends_for_topological_order.remove(name)
if not decorator.depends_for_topological_order:
if decorator.message_generator:
message_generators.append(name)
else:
non_message_generators.append(name)
No new problems yet but the RasPi is a little slow so we'll see... in any case at this point it would be different from this particular issue. Good luck again!
PS - This edit also seems like an oversight in the code? Won't know for sure until the build finishes though
EDIT THE SECOND:
I spoke too soon. After having satisfied topological_order.py
with package.xml
comments, cmake
may get mad at some packages because it expects to see the a dependency but doesn't... so you'll want to revert said changes in those packages after building starts proper but before the modified package is built. That's a mouthful and I apologize in advance but it worked for me.
EDIT THE THIRD:
I have a working ROS install now! My improved version of catkin_pkg
is available at [2] and I'll be keeping it in sync with the original until they accept my changes. It provides actionable feedback on cyclic dependencies and handles self-dependencies correctly. You're still on your own with trying to tweak <build-depend>
and possibly reverting changes before cmake
gets involved.
[2] (Sorry about the space) https:// github.com/chris-blay/catkin_pkg
9 | No.9 Revision |
I got this today while trying to install ROS Hydro on my Raspberry Pi as per [1]. Overall, installing ROS from source is very aggravating and maybe someday I'll try to make some similar framework that just gets the job done and doesn't have all this extra crap to deal with... but as to our problem...
Looks like you've got a circular dependency amongst your packages. Of course, it won't straight up tell you that's the problem though--no that would be far too kind--you must manually edit your catkin_pkg/topological_order.py
and look for this comment:
# in case of a circular dependency pass a string with
# the names list of remaining package names, with path
# None to indicate cycle
Then after appending to ordered_packages
you could add a line like:
print('Circular dependency within packages: {}'.format(ordered_packages[-1][1]))
It's up to you to muck around with the package.xml
files until the cycle is broken and everything still somehow builds. That's what I'm doing right now. Good luck.
PS - That line I suggest adding really should just be in there already WTF people?
[1] (Stupid site doesn't say I can't post links... You'll have to remove the spaces) (Sorry about the space) http:// wiki.ros.org/ ROSberryPi/Setting%20up%20Hydro%20on%20RaspberryPiwiki.ros.org/ROSberryPi/Setting%20up%20Hydro%20on%20RaspberryPi
EDIT THE FIRST:
I managed to get past this error condition by commenting out as few <build-depend>
entries as possible within my set of circularly dependent packages but there's another edit I made to topological_order.py
to make this easier. In the second while
loop of _sort_decorated_packages
:
while len(packages) > 0:
# find all packages without build dependencies
message_generators = []
non_message_generators = []
for name, decorator in packages.items():
# Add the next two lines so that a package doesn't get stuck depending on only itself
if name in decorator.depends_for_topological_order:
decorator.depends_for_topological_order.remove(name)
if not decorator.depends_for_topological_order:
if decorator.message_generator:
message_generators.append(name)
else:
non_message_generators.append(name)
No new problems yet but the RasPi is a little slow so we'll see... in any case at this point it would be different from this particular issue. Good luck again!
PS - This edit also seems like an oversight in the code? Won't know for sure until the build finishes though
EDIT THE SECOND:
I spoke too soon. After having satisfied topological_order.py
with package.xml
comments, cmake
may get mad at some packages because it expects to see the a dependency but doesn't... so you'll want to revert said changes in those packages after building starts proper but before the modified package is built. That's a mouthful and I apologize in advance but it worked for me.
EDIT THE THIRD:
I have a working ROS install now! My improved version of catkin_pkg
is available at [2] and I'll be keeping it in sync with the original until they accept my changes. It provides actionable feedback on cyclic dependencies and handles self-dependencies correctly. You're still on your own with trying to tweak <build-depend>
and possibly reverting changes before cmake
gets involved.
[2] (Sorry about the space) https:// github.com/chris-blay/catkin_pkg