[ros-users] rosdep + macports

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: User discussions
Subject: [ros-users] rosdep + macports
Hi all.

I've been experiencing a slight problem with rosdep and macports. Basically, after I run rosdep, a macports process consumes 100% of my CPU and commands I enter in the terminal aren't displayed (stdin is stolen). I have macports 2.0.3 and am using the ros-1.6.6 tagged version of ros. Has anyone else had this problem?

Looking at the source, the issue seems to be a check for whether or not macports exists in the constructor of rosdep.installers.MacportsInstaller. There's a popen command which opens up a macports session, but the process doesn't look like it's being killed. This would explain why I/O is being stolen, though I'm not sure why my CPU usage spikes. My quick fix was to just change the command to be "port help" (see diff bellow).

Should I file a bug report?

Cheers,
Ben

SVN URL: https://code.ros.org/svn/ros/stacks/ros/tags/ros-1.6.6/tools/rosdep/src/rosdep

bcharrow@amateur:/opt/ros/electric/ros/tools/rosdep/src/rosdep
$ svn diff
Index: installers.py
===================================================================
--- installers.py       (revision 15358)
+++ installers.py       (working copy)
@@ -424,7 +424,7 @@
             packages = packages.split()


         try:
-            pop = subprocess.Popen(['port'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+            pop = subprocess.Popen(['port', 'help'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
         except OSError:
             import traceback; traceback.print_exc()
             print("There was an error running macports, make sure it is installed properly.", file=sys.stderr)