ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

DavidS's profile - activity

2022-08-23 10:13:27 -0500 received badge  Self-Learner (source)
2012-12-14 12:12:07 -0500 answered a question ROS fuerte installation problem on 12.04

Same problem on Ubuntu 12.04 i386...

The only package group I was able to install was ros-fuerte-ros-common

The individual ROS stacks are present, but not the package group.

2012-11-16 10:39:52 -0500 received badge  Notable Question (source)
2012-11-16 10:39:52 -0500 received badge  Famous Question (source)
2012-09-17 22:27:36 -0500 received badge  Famous Question (source)
2012-09-09 21:49:01 -0500 received badge  Famous Question (source)
2012-09-09 21:49:01 -0500 received badge  Popular Question (source)
2012-09-09 21:49:01 -0500 received badge  Notable Question (source)
2012-07-31 00:47:54 -0500 received badge  Taxonomist
2012-07-24 02:32:23 -0500 received badge  Notable Question (source)
2012-07-17 12:54:50 -0500 received badge  Popular Question (source)
2011-12-17 07:36:28 -0500 received badge  Popular Question (source)
2011-09-01 15:44:01 -0500 answered a question rxgraph graph not visible on Arch

I have the same problem. I don't think it is due to conflicts between different versions of python.

$ sudo pacman -Ql wxpython

This command will list all the files installed for wxpython, and you should notice that everything is installed in the python2 site-package directory.

I tried using the latest version of rxgraph from the developer, to no avail.

I believe the problem has to due with cairo and pycairo. You can try installing a local copy of an earlier version of cairo and pycairo (e.g. 1.8). Use the same version that Ubuntu uses. I haven't tried this myself, as I don't need the diagrams badly enough...

2011-08-17 20:31:23 -0500 marked best answer Preserving changes to standard ROS packages

When you update your source based ROS installation it won't overwrite your changes, at worst you would have to merge the changed files manually if there are any conflicts (see rosinstall documentation). But things like CMakeList doesn't change very often. Another thing to do is submit patches to package maintainers, so that your changes can be integrated and whenever next version is released it will just work out of the box.

2011-07-13 14:02:02 -0500 received badge  Teacher (source)
2011-07-13 10:42:30 -0500 answered a question Preserving changes to standard ROS packages

Hmm... I just did a rosinstall update. My changes seems to be intact so far.
I thought my changes are erased, because my changes to setup.sh were gone after an update. The documentation does indicate that setup.sh is re-generated...

Most of the changes I am making are to make ROS packages compile with gcc-4.6. I have submitted patches to https://code.ros.org/trac/ros-pkg/, though nothing seems to be happening with them.

Other changes I had to make are due to locations of header files, which are system specific, so I doubt the package maintainers would want them.

2011-07-13 10:24:06 -0500 answered a question Love Arch Linux, but won't behave with ROS

I don't like waiting for updates on Ubuntu either.

The main problems you will face for working with ROS on Archlinux are:

  1. ROS refers to "python2" as "python" in its script files. (This most likely explains most of the errors you are facing.)
  2. Many ROS packages do not compile with GCC 4.6.

The fix is to preferentially use python2 in lieu of python and gcc-4.5 in lieu of gcc-4.6.

# install GNU compilers 4.5  
yaourt -S python2 gcc45  

mkdir /usr/local/bin/alt  

ln -s /usr/bin/python2 /usr/local/bin/alt/python  
ln -s /usr/bin/gcc-4.5 /usr/local/bin/alt/gcc  
ln -s /usr/bin/g++-4.5 /usr/local/bin/alt/g++  

export PATH=/usr/local/bin/alt:$PATH

You would want to put the last line in an initialization script that you run every time before using ROS in a new terminal. Don't add this to your /etc/profile.d/ as it will break some packages in Archlinux.

Additionally, the dependencies are not detected very well, so you have to determine which libraries are missing from the error logs.

For more information, see my other post.

Edit: Promoting gcc-4.5 and g++-4.5 does not appear to work, as configure refers to them by the exact path: /usr/bin/gcc

Instead, you have to edit the CMakeLists.txt file for each package that fails to compile with gcc 4.6.

Add the following lines after the rosbuild directives (if any).

set (CMAKE_C_COMPILER gcc-4.5)  
set (CMAKE_CXX_COMPILER g++-4.5)
2011-07-12 12:53:31 -0500 answered a question Specifying non-standard library path

Using environmental variables does not appear to work...

In the end, I had to change CMakeLists.txt.

2011-07-12 11:14:49 -0500 received badge  Supporter (source)
2011-07-12 11:08:21 -0500 asked a question Preserving changes to standard ROS packages

Archlinux, kernel 2.6.39-ARCH
gcc version 4.6.1

In order to compile some packages, I need to patch certain source codes and make changes to CMakeList.txt...

How do I preserve these changes so that when I update ROS by:

$ rosinstall ~/ros

... I don't have to re-make the changes again.

2011-07-10 08:54:02 -0500 asked a question Specifying non-standard library path

How do I specify a non-standard library path while building a standard ROS package?

I tried:

LDFLAGS='-L/usr/local/hdf5/lib/' rosmake pcl

which did not work.

Archlinux 2.6.39-ARCH

2011-07-10 08:20:35 -0500 answered a question Problem installing openni_camera (pcl) and openni_tracker (kdl) on Archlinux

Regarding one of the compilation errors above:

pcl compilation error

Patch and ticket submitted to https://code.ros.org/trac/ros-pkg/ticket/5054

pcl_ros also had problems with gcc 4.6.

In the end, I had to specify the compiler as gcc-4.5 and g++-4.5, by adding

set (CMAKE_C_COMPILER gcc-4.5)
set (CMAKE_CXX_COMPILER g++4.5)

after the rosbuild directives in CMakeLists.txt for pcl_ros.

As for kdl, the patches are already applied, but the Makefile is trying to apply the patch again. The fix is to remove the patching line in the Makefile of the kdl package.

2011-07-10 07:30:07 -0500 answered a question Problem installing openni_camera (pcl) and openni_tracker (kdl) on Archlinux

"samurai" is actually just the name of my computer. I am using Archlinux with linux kernal 2.6.39.

I am using the diamondback ROS release with the latest update by rosinstall.

For the error involving the pcl package, I had googled that error, though without success. I checked the manifest.xml of pcl. The only independent system dependency is libqhull, which I have installed. And all the other ROS package dependencies (cminpack, eigen, flann) have all been built. Some people have a similar error while compiling another C++ library, and it appeared to be an issue with compiling directives...

Which version of gcc does ROS recommend? I can't seem to find this information anywhere. How can you use another gcc version, if you have it installed?

As for kdl, the manifest description reads

This package contains a recent version of the Kinematics and Dynamics Library (KDL), distributed by the Orocos Project. For stability reasons, this package is currently locked to revision 31715 of April 26 2010 (C-turtle) and revision 30401 of August 8 2009 (Boxturtle), but this revision will be updated on a regular basis to the latest available KDL trunk. This ROS package does not intend to modify KDL in any way, it simply provides a convenient way to download and compile the library, because KDL is not available from an OS package manager. However, this package might contain some temporary patches to KDL while they are being applied upstream, or while a permanent fix for a problem is being discussed by the KDL community.

What I can't figure out is why the 4 patches to kdl failed, as described in my original post. Is it system specific?

2011-07-09 13:52:47 -0500 received badge  Editor (source)
2011-07-09 13:51:48 -0500 asked a question Problem installing openni_camera (pcl) and openni_tracker (kdl) on Archlinux
$ uname -a
Linux samurai 2.6.39-ARCH #1 SMP PREEMPT Mon Jun 27 21:26:22 CEST 2011 x86_64 Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz GenuineIntel GNU/Linux

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /build/src/gcc-4.6.1/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --enable-gnu-unique-object --enable-linker-build-id --with-ppl --enable-cloog-backend=isl --enable-lto --enable-gold --enable-ld=default --enable-plugin --with-plugin-ld=ld.gold --disable-multilib --disable-libstdcxx-pch --enable-checking=release
Thread model: posix
gcc version 4.6.1 (GCC)


$ rosmake openni_camera

[ rosmake ] Last 40 linesl: 77.9 sec ]                                                    [ 1 Active 49/52 Complete ]
{-------------------------------------------------------------------------------
                   from /usr/local/opt/ros/perception_pcl/pcl/include/pcl/point_types.h:40,
                   from /usr/local/opt/ros/perception_pcl/pcl/src/pcl/sample_consensus/sac_model_circle.cpp:39:
  /usr/local/opt/ros/geometry/eigen/include/Eigen/src/Core/products/Parallelizer.h: In function ‘void Eigen::internal::manage_multi_threading(Eigen::Action, int*)’:
  /usr/local/opt/ros/geometry/eigen/include/Eigen/src/Core/products/Parallelizer.h:33:14: warning: variable ‘m_maxThreads’ set but not used [-Wunused-but-set-variable]
  In file included from /usr/local/opt/ros/geometry/eigen/include/Eigen/Core:328:0,
                   from /usr/local/opt/ros/geometry/eigen/include/Eigen/StdVector:29,
                   from /usr/local/opt/ros/perception_pcl/pcl/include/pcl/pcl_base.h:41,
                   from /usr/local/opt/ros/perception_pcl/pcl/include/pcl/sample_consensus/sac_model.h:45,
                   from /usr/local/opt/ros/perception_pcl/pcl/include/pcl/sample_consensus/sac_model_cylinder.h:41,
                   from /usr/local/opt/ros/perception_pcl/pcl/src/pcl/sample_consensus/sac_model_cylinder.cpp:38:
  /usr/local/opt/ros/geometry/eigen/include/Eigen/src/Core/products/Parallelizer.h: In function ‘void Eigen::internal::manage_multi_threading(Eigen::Action, int*)’:
  /usr/local/opt/ros/geometry/eigen/include/Eigen/src/Core/products/Parallelizer.h:33:14: warning: variable ‘m_maxThreads’ set but not used [-Wunused-but-set-variable]
  In file included from /usr/local/opt/ros/geometry/eigen/include/Eigen/src/StlSupport/StdVector.h:29:0,
                   from /usr/local/opt/ros/geometry/eigen/include/Eigen/StdVector:38,
                   from /usr/local/opt/ros/perception_pcl/pcl/include/pcl/pcl_base.h:41,
                   from /usr/local/opt/ros/perception_pcl/pcl/include/pcl/sample_consensus/sac_model.h:45,
                   from /usr/local/opt/ros/perception_pcl/pcl/include/pcl/sample_consensus/sac_model_cylinder.h:41,
                   from /usr/local/opt/ros/perception_pcl/pcl/src/pcl/sample_consensus/sac_model_cylinder.cpp:38:
  /usr/local/opt/ros/geometry/eigen/include/Eigen/src/StlSupport/details.h: At global scope:
  **/usr/local/opt/ros/geometry/eigen/include/Eigen/src/StlSupport/details.h:41:13: error: ‘ptrdiff_t’ does not name a type**
  [ 30%] Building CXX object CMakeFiles/pcl_sample_consensus.dir/src/pcl/sample_consensus/sac_model_normal_parallel_plane.o
  In file included from /usr/local/opt/ros/geometry/eigen/include/Eigen/Core:328:0,
                   from /usr/local/opt/ros/perception_pcl/pcl/include/pcl/point_types.h:40,
                   from /usr/local/opt/ros/perception_pcl/pcl/src/pcl/sample_consensus/sac_model_normal_parallel_plane.cpp:38:
  /usr/local/opt/ros ...
(more)