From ArchWiki
Jump to: navigation, search

Pallegro, here. Hoping we can pool resources.

Does anyone have any ideas for packaging on aur? Should we have ros-$distro-$package or ros-$distro-$variant or just ros-$variant (and track releases)?

Just had the need to install ROS again. I'm trying out mosenle's stacks on a chroot for cross compile and pushing the little fixes I'm needing to do to a fork of his github groovy stack. I'm not sure I'm a fan of such fine-grained packages but that's a small issue. Meanwhile it seems a shame to waste the hard work he has put in. Hauptmech (talk) 14:15, 15 January 2013 (UTC)

  • python/python2: some scripts use #!/usr/bin/python rather than #!/usr/bin/env python, e.g. rosconsole/scripts/ . So we should do {{{for file in $(grep -rl 'bin/python *$' .); do sed -i 's/bin\/python *$/bin\/python2/' $file ;done}}}
  • buff.getvalue().strip().encode('utf-8') : I didn't encounter this. Any idea why this wouldn't be hitting ubuntu? I used catkin_make instead of cmake.
  • ros-base variant (not just ros_comm) builds find for me.
  • robot variant needed two small patches, one of which (collada_urdf) is fixed upstream:

--- collada_urdf/CMakeLists.txt 2013-01-10 12:14:26.551127084 -0400
+++ collada_urdf/CMakeLists.txt 2013-01-10 12:15:21.200339275 -0400
@@ -13,8 +13,8 @@ include_directories(include)
 find_package(Boost REQUIRED COMPONENTS system)
-find_package(assimp QUIET)
-if ( NOT assimp_FOUND )
+find_package(ASSIMP QUIET)
   find_package(PkgConfig REQUIRED)
   pkg_check_modules(ASSIMP assimp)

--- nodelet/CMakeLists.txt      2012-12-27 22:00:51.000000000 -0400
+++ nodelet/CMakeLists.txt      2013-01-09 16:22:23.001660738 -0400
 @@ -47,6 +47,7 @@ add_dependencies(nodeletlib ${PROJECT_NA
 add_executable(nodelet src/nodelet.cpp)
 target_link_libraries(nodelet ${BOOST_LIBRARIES}
+                              uuid
  • pcl needed:
--- common/include/pcl/point_cloud.h
+++ common/include/pcl/point_cloud.h
@@ -649,7 +649,7 @@ namespace pcl
         width (pc.width), height (pc.height), is_dense (pc.is_dense)
         // Copy the obvious
-        properties.acquisition_time   = pc.header.stamp;
+        properties.acquisition_time   = pc.header.stamp.sec;
         properties.sensor_origin      = pc.sensor_origin_;//.head<3> ();
         properties.sensor_orientation = pc.sensor_orientation_;

--- pcl/     2013-01-14 13:49:57.826710380 -0400
+++ pcl/     2013-01-14 13:53:49.900025755 -0400
@@ -266,7 +266,12 @@ macro(find_VTK)
  find_package(VTK ${QUIET_})
-    set(VTK_LIBRARIES vtkCommon vtkRendering vtkHybrid)
+    #set(VTK_LIBRARIES vtkCommon vtkRendering vtkHybrid)
+    unset(VTK_LIBRARIES)
+    foreach(lib "vtkCommon" "vtkRendering" "vtkHybrid")
+      find_library(VTK_${lib} ${lib} "${VTK_LIBRARY_DIRS}" VTK_DIR)
+    endforeach()

Groovy packages

So I've been putting some work into creating a ros-groovy-desktop AUR package. It's not in a working state at the moment, but it compiles without error. The big issue that I'm running into is that the catkin make intall does not like installing to ${pkgdir} without coding all its paths as such (in and other such files). I'm trying to figure out the best approach to fixing this. Any suggestions? I can post my PKGBUILD if anyone wants it. Zootboy (talk) 19:30, 31 March 2013 (UTC)

Any updates on the packaging? If it's not working yet, I'd like to help. Can you post the PKGBUILD? Hanno (talk) 14:16, 17 April 2013 (UTC)
Here's what I have so far: (It may be in some weird state, I tend to comment out chunks of the build function to test it). The biggest issue I've hit is the fact that no matter what settings / directories I adjust in the catkin_make lines, it always ends up with hard-coded references to srcdir and pkgdir. See what you think... Zootboy (talk) 20:18, 17 April 2013 (UTC)
Update: I forked Hauptmech's repository and fixed up the packages. I'm working on posting them all to the AUR, and I updated the main Ros page with links to the packages. I've tried to follow the Ubuntu package naming scheme with the packages as much as possible. Disregard the above PKGBUILD -- it never worked right anyway, and it wasn't the right way to do it. The AUR packages should work much better. Zootboy (talk) 23:18, 24 May 2013 (UTC)
The build process fails with ros-groovy-console-bridge, complaining that "Remote branch release/groovy/console_bridge/0.1.4-1 not found". I edited the PKGBUILD file, and made it just get the "head" branch, which succeeds but then fails with ros-groovy-rosconsole-bridge complaining that console_bridge is not a catkin_package. Any pointers? benguin
Got it to work, addressing the issue crossed out above. Two packages, ros-groovy-rosconsole-bridge and ros-groovy-console-bridge were updated upstream, with a version number bump in each case. The PKGBUILD files were updated to reflect that, and then the build went off without a hitch. For ros-groovy-rosconsole-bridge, the version bump was to 0.2.7, and for ros-groovy-console-bridge, it was 0.2.4-0. benguin
Also, should the git repo point to git:// or git:// I am a bit of a noob on Arch -- my ROS experience has been solely on Ubuntu. benguin(talk) 21:16, 26 June 2013 (UTC).Scratch that. Figured it out -- good as it is :). Thanks!benguin(talk) 18:58, 27 June 2013 (UTC).

Boost Update Script

The provided script didn't work for me :(. I think some things have unlisted dependencies. Instead I had to do this:

   find /opt/ros/indigo/lib -name '*.so*' | while read line; do out=`ldd $line 2>&1 | grep boost | grep -v warning`;  if  "$out" != "" ; then new=`pacman -Qo -q $line`; echo $new;  fi; done;