Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wet orocos_kdl removed from groovy #4792

Closed
NikolausDemmel opened this issue Jun 19, 2014 · 14 comments
Closed

wet orocos_kdl removed from groovy #4792

NikolausDemmel opened this issue Jun 19, 2014 · 14 comments

Comments

@NikolausDemmel
Copy link
Contributor

d422d53 removed wet orocos_kdl from groovy, however some other wet packages in desktop-full depend on it. In particular after populating a workspace with rosinstall_generator --rosdistro groovy desktop --wet-only --tar --deps and then running rosdep --rosdistro groovy check --from-paths src --ignore-src I get:

WARNING: Metapackage "diagnostics" must buildtool_depend on catkin.
System dependencies have not been satisified:
homebrew    vtk
homebrew    mysql
ERROR[tf2_geometry_msgs]: Cannot locate rosdep definition for [orocos_kdl]
    rosdep key : orocos_kdl
    OS name    : osx
    OS version : mavericks
    Data: <no data>
ERROR[kdl_parser]: Cannot locate rosdep definition for [orocos_kdl]
    rosdep key : orocos_kdl
    OS name    : osx
    OS version : mavericks
    Data: <no data>
ERROR[tf2_kdl]: Cannot locate rosdep definition for [orocos_kdl]
    rosdep key : orocos_kdl
    OS name    : osx
    OS version : mavericks
    Data: <no data>
ERROR[kdl_conversions]: Cannot locate rosdep definition for [orocos_kdl]
    rosdep key : orocos_kdl
    OS name    : osx
    OS version : mavericks
    Data: <no data>
ERROR[eigen_conversions]: Cannot locate rosdep definition for [orocos_kdl]
    rosdep key : orocos_kdl
    OS name    : osx
    OS version : mavericks
    Data: <no data>

This makes source builds of groovy fail, see for example: http://answers.ros.org/question/169441/installation-groovy-on-fedora-rosdep-error-cannot-locate-rosdep-definition-for-orocos_kdl/?comment=174098

@NikolausDemmel
Copy link
Contributor Author

ping @tfoote who made the problematic commit

@tfoote
Copy link
Member

tfoote commented Jul 1, 2014

Those packages are in a problem spot as they need catkinized dependencies but they don't actually exist. They happened to be building by luck of side effects. I think the only real solution is to roll back to non catkin versions of those packages.

@NikolausDemmel
Copy link
Contributor Author

Is there a simple way to list all wet groovy packages that have (recursive) dry dependencies?

As it stands it seems groovy can't be built from source (at least desktop-full), so I don't think removing the packages will make it much worse.

Are the current debians of those offending packages built from the dry ROS packages?

@tfoote
Copy link
Member

tfoote commented Jul 2, 2014

No the debian builds slip through a crack since the packaging is mostly 3rdparty and the interface is the same for downstream packages and with the debian packages it only relies on the debian package being installed. And the dry or wet ones are close enough to work.

@NikolausDemmel
Copy link
Contributor Author

Not sure I understand. If all wet packages depending on orocos_kdl get removed, will their dry variants still be built as debians? Or are those not released at all as dry packages?

@tfoote
Copy link
Member

tfoote commented Jul 2, 2014

There's only one version of anything in the distro wet or dry. If you remove the wet ones, they're gone.

@NikolausDemmel
Copy link
Contributor Author

So what is the solution here? bringing back wet orocos_kdl and fixing any dry packages that depend on it? Or removing all wet packages depending on orocos_kdl?

As it is, groovy cannot be built properly from source.

@tfoote
Copy link
Member

tfoote commented Jul 2, 2014

All wet packages depending on it need to be rolled back to their dry versions and re-released. Or we add instructions to inject orocos_kdl early such that they build through the same loop as the debian packages.

@NikolausDemmel
Copy link
Contributor Author

I'm not sure how to do neither of those things, so I'm out.

@NikolausDemmel
Copy link
Contributor Author

I guess if we ever expect to fix this, now would be the time before the last groovy release. It seems it is still impossible to build groovy from source with the standard instructions. Unfortunately I don't know how to fix this.

@wjwwood
Copy link
Member

wjwwood commented Aug 26, 2014

Yeah, I said I would take a look at this, but I never had time.

@tfoote I'm a little fuzzy on the history of this, why can't we go back to the wet orocos_kdl and fix the packages which broke because of that? Though that may be the harder solution, it seems to me that the alternatives are unacceptable:

  • The current approach prevents building from source (which will be come increasingly important with the farm going down)
  • The suggestion of rolling back, recursively, all wet packages which depend on orocos_kdl seems intractable.

@wjwwood
Copy link
Member

wjwwood commented Aug 26, 2014

One problem with experimenting with a fix for this is that it will probably break new packages in Groovy. We could wait for the final community sync of Groovy, and after I can try to fix this, addressing the fallout without interaction with the community. This way we don't disrupt the current effort to get Groovy debs in a non-regression state, and later I can try to fix it without maintainers getting emailed and what not.

@wjwwood
Copy link
Member

wjwwood commented Oct 10, 2014

So I haven't had time to look into this. Also the Groovy build farm jobs are down now, so I won't be able to make the grand unified fix to this, but since the binary debs are not going to be generated anymore, I can now do what I want/need to the release files to make the from source work without trying to make the debs work.

I'll try to spend some time this weekend building Groovy on my laptop and fixing this issue for the source case. It maybe that I can get it into a working state for from source and binaries now that the farm is shutdown for Groovy.

@wjwwood
Copy link
Member

wjwwood commented Oct 13, 2014

Ok, I restored the wet entry for orocos_kdl and it seems to resolve building from source for me.

Now I think there still maybe a problem if you mix in some dry packages which use orocos_kdl, but I don't know which packages to try. @tfoote do you know what packages were problematic or which related issues I can look at?

Final steps may include removing the dry entry for orocos_kdl and fixing any packages which break due to that. However, I'm tempted to let those issue bubble up as people run into them. At least now the basic ROS packages will work from source on Groovy.

I'm going to close this for now, to any future readers if you run into a problem which you think is related to this please speak up in a comment here.

@wjwwood wjwwood closed this as completed Oct 13, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants