-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
urdfdom* packages in Indigo/Trusty are in conflict with system ones #4633
Comments
@j-rivero I hit this about an hour ago, and had just found the ticket on sdformat about 20 minutes ago. As @jonbinney pointed out on the sdformat ticket, this will pretty much block the use of gazebo+ros+urdf. I suppose one or the other has to be recompiled -- either we setup ROS Indigo to use the upstream urdfdom, or we have to compile gazebo/sdformat as ROS packages again. |
One question, is there an official deb for |
If there is not (I cannot find one) then we must do several things:
Also, this makes building on other platforms pretty painful. Currently when building from source, a version of |
@mikeferguson you can trick a little bit the LD_LIBRARY_PATH, check the sdformat bug out for the example. The only point is not to mix software compiled against ROS urdfdom and system urdfdom. @wjwwood no, saucy has no urdfdom packages. Trusty is the first having them, together with some other known friends: http://qa.debian.org/developer.php?login=jrivero@osrfoundation.org. I can take care of the homebrew or any other work needed in any other platform. Feel free to assign it to me. |
@isucan @davetcoleman FYI The version in Trusty is 0.2.10 and in indigo it's 0.3.0. I believe I remember a discussion about 0.3.0 being required for something but I don't know what. |
Also @hsu FYI |
@tfoote 0.3.0 in Indigo but the library file name and soname are 0.2?
Probably it is not ABI compatible so any reason not to use a proper soname/soversion? Could be a short-term fix to not affect to all distributions, patch ros-indigo-urdfdom*, use 0.3 soversion and launch the whole re-release process? |
The biggest change I know of for urdfdom is in urdfdom_headers where a undocumented group name member variable was removed from links. This would cause the ABI compatibility. This change has caused changes in Rviz, so it might not be easy to undo it. I also put some minor changes into urdfdom that I would be sad to see not released into indigo, since I have been waiting for them to be released for a year now (since Hydro). |
The rviz changes has a compiler if statement for differing versions of urdfdom |
@davetcoleman what changes are in master of We are hoping that there is an ABI compatible way to have |
Let me be more specific, currently in Trusty:
Currently in Indigo:
Now, I believe that the changes in What changes between If we can determine that then we can see if we can back port those changes to a |
I would like to see in Indigo this very minor change, which is abi -compatible: ros/urdfdom@cc286e3 It just drastically reduces the amount of noise when using MoveIt in debug logging level. I also have some trivial commits to README.md. Everything else I am not involved in so don't know, but I don't see (reading through the code just now) any changes to header files so perhaps we can backport all the changes? |
After discussing with @wjwwood , we think the next step should be to create a branch called 0.2 and cherry pick @davetcoleman 's commits to it in order to make a patch release to send into ubuntu. @hsu as a maintainer, can you create the 0.2 branch? I will make pull requests to it, but only a maintainer can create branches. |
branch created
|
I think back porting all the changes from |
@hsu Thanks, but I forgot to ask that the branch be based of of the 0.2.10 tag. Can you rebase it? |
doh. rebasing. On Fri, Jun 6, 2014 at 2:49 PM, Steven Peters notifications@github.com
|
recreated the branch from 0.2.10 On Fri, Jun 6, 2014 at 2:51 PM, John Hsu hsu@osrfoundation.org wrote:
|
So what is the strategy then, do we remove |
So, after discussing it, this will be the actions we take:
If we get 0.2.11 into Trusty:
Otherwise we will:
Unfortunately this means we cannot take action on this until we know about getting 0.2.11 into Trusty. So I'm sorry to say that for people affected by this, you will have to build from source in the mean time. @jonbinney @mikeferguson |
@wjwwood not a problem to build from source right now -- I just wanted to make it clear this should be considered a real blocker for releasing Indigo beyond beta. Have any of the fedora crowd seen this ticket? I haven't seen any input from them -- I'm not sure who all that entails, but perhaps @wjwwood or @tfoote could link in the right people so they are aware of this upcoming change (which will likely break their releases) |
@cottsay FYI |
Thanks for bringing me in, @tfoote and @mikeferguson. Fedora has urdfdom{-headers} 0.2.9 in f19 and f20 proper:
I haven't hit any problems in RPM packaging because urdfdom{-headers}-devel is never installed at compile time. I would need to talk to Rich, but we might be able to update to version 3 if need be. I can't find any downstream packages that would have API/ABI dependencies. We could almost certainly release 0.2.11. Just give us at least a week of testing before Indigo release if we need to release an update. |
I've started the first part of the process that is to get the patch merged into Ubuntu development distro (Utopic). You can find the full procedure process here: https://wiki.ubuntu.com/StableReleaseUpdates#Procedure https://code.launchpad.net/~j-rivero/ubuntu/trusty/urdfdom/urdfdom_ros_patch/+merge/222426 |
For anyone else who needs to build gazebo for source for now, I've created a couple of git repos for gazebo2.2.2 and sdformat1.4.11 plus package.xml's. Using this rosinstall (https://gist.github.com/jonbinney/942e110bbd4fbe7044fc) you can catkin_make_isolated a workspace that includes gazebo, sdformat, and gazebo_ros_pkgs. It might not be the most beautiful way of doing it, but it should work for a week or two while this gets resolved. |
So in reviewing my understanding of the state of things I don't think we can wait for movement upstream. They may not want to take the patch. To get going what we can do is:
@j-rivero could you look at creating Saucy versions of urdfdom? |
I agree that we should not wait. The first step was not reviewed during a whole week. No problem on releasing the Saucy versions, just one point: urdfdom depends on console-bridge. console-bridge is available from Ubuntu on Trusty but not on Saucy. And ROS repository is hosting its own ros-$distro-console-bridge. AFAIK, the version on the system (0.2.5) and the one in ROS (0.2.7) are ABI compatible (no change to the application code), but I would recommend to get rid of it, if possible. In the case of Saucy, I believe that you will also like to ship a libconsole-bridge package together with urdfdom, right? |
@NikolausDemmel yes they have been packaged for homebrew: As discussed in osrf/homebrew-simulation#22 |
@mikeferguson @jonbinney it could be that you still have the ros-indigo-urdfdom package installed and we are reproducing this same bug again? After sourcing setup.sh *update: * I've just seen that the latest version of ros-indigo-urdfdom is already a transition package:
|
@scpeters: thanks for the links. I noticed the keys in rosdep, but wasn't aware of the new Tap. |
@j-rivero it appears to be linking against the correct urdfdom:
Can you try the nao urdf i posted above and see if |
You were totally right @jonbinney, there is a different error on sdformat and I'm afraid that lives in the Ubuntu official package that needs patching. Details and workaround in the sdformat issue tracker. To avoid waiting the patch in Ubuntu, that will take a bit of time, one option could be:
|
The status of the fix for this latest issue with sdformat can be found in #4933 |
sdformat is being tracked separately: All elements in this comment are checked off: #4633 (comment) Once they build I will plan to merge #4830 |
#4830 closed and packages cleared from the repos. |
Installing ros-indigo-desktop-full fails right now. http://answers.ros.org/question/185659/package-ros-indigo-urdfdom-headers-has-no-installation-candidate/ How long should it take to converge and rebuild the packages? |
I just tried to install desktop-full from apt-get and ran into the same issue. Looks like it is getting resolved. I can test this in the wild if it helps. |
The public repository should not have updated yet. I'm trying to track down what updated in the repository. |
The NYC mirror ran out of space. It's being remedied at the moment. Hopefully with that back in place things will recover. |
It looks also like the staged updates for urdfdom were pulled to the public mirrors incorrectly. We're debugging why. But indigo is close to a clean build so we will sync as soon as the buildfarm finishes. |
WIth the new sync i've verified that you can now install correctly from packages.ros.org. |
Changes since 0.2.5: 0.2.7 (2014-07-01) ------------------ * fixing dependencies for ros/rosdistro#4633 * added travis build status indicator in README.md * added travis support * use FindTinyXML from cmake_module * Contributors: Dave Coleman, Dave Hershberger, Ioan Sucan, Tully Foote 0.2.6 (2013-07-19) ------------------ * fix incorrect tag name
Changes since 0.2.7: 0.4.2 (2014-07-18) ------------------ * update maintainers 0.4.1 (2014-06-25) ------------------ * update find_package for console bridge to reflect 3rdparty status (`#8 <https://github.com/ros/rosconsole_bridge/issues/8>`_) 0.4.0 (2014-06-24) ------------------ * rename variables within rosconsole macros (`ros/ros_comm#442 <https://github.com/ros/ros_comm/issues/442>`_) * convert to use console bridge from upstream debian package (`ros/rosdistro#4633 <https://github.com/ros/rosdistro/issues/4633>`_) 0.3.4 (2014-02-15) ------------------ * Allows non-ros components to utilize the prefix functionality of log4j * Contributors: Dave Coleman, Ioan A Sucan 0.3.3 (2013-08-21) ------------------ * fixing catkin as a buildtool dependency * Contributors: Dirk Thomas, Tully Foote 0.3.2 (2013-04-12) ------------------ * changes due to renames in console_bridge * Contributors: Ioan Sucan 0.3.1 (2013-03-13 21:24) ------------------------ * fix deps * update e-mail address * Contributors: Ioan Sucan Dropped patch-aa applied upstream.
I'm having an issue with A little confused by how I'd approach doing it as a source install with the system dep mixed in (seeing the code is inside Should |
@mryellow this looks like a new topic. You should ask a question on http://answers.gazebosim.org |
No problem, though it might be part of this whole deployment change.... Seems there is no way to get From my perspective, I'm more likely to take edit: ok ok, they can coexist... https://github.com/ros-gbp/urdfdom_py-release from source worked along-side this setup, not sure where I took a wrong turn before. Does require a tweak to srdfdom package.xml, no depend for |
The full story can be read at https://bitbucket.org/osrf/sdformat/issue/63/gzsdf-segfaults-in-trusty.
The short story, in our efforts to move upstream package to official Ubuntu repositories, the first version already using them is Trusty. Indigo is still shipping ros-indigo-urdfdom*, which I believe should not be needed. Unfortunately, they have the same name but are not ABI compatible, so people with software compiled against system urdfdom libraries, will find a problem if source ROS setup.bash and try to run binary.
IMHO, the way to go would be try to stop using ros-indigo-urdfdom* packages and use the system ones. Not sure about the implications of this for ROS (I imagine that a full recompile of all packages depending on urdfdom is needed. I'm also not sure if a simple change in rosdep can make this transition easy) but please, feel free to propose any other solution you find easier (try to mimic exactly the urdfdom system version in ros-indigio-urdfdom could also work).
As a side note, sorry, I should have detected this problem in the beta phase. I will implement a testing mechanism for this kind of ABI incompatibilities in the OSRF jenkins.
The text was updated successfully, but these errors were encountered: