On Thu, May 13, 2010 at 10:15 PM, Blaise Gassend wrote: > In theory there were no API changes, but it looks like something broke > in the new .cfg dependency generation. > > {{{ > blaise@bnl: ~/ros.karmic/mypkgs/camera_drivers/camera1394 $ rosrun > dynamic_reconfigure gendeps cfg/Camera1394.cfg > Finding dependencies for cfg/Camera1394.cfg > *********************************************************************************** > load_module did not return. Unable to determine dependencies for file > listed above. > *********************************************************************************** > Traceback (most recent call last): >  File > "/u/blaise/ros.karmic/mypkgs/driver_common/dynamic_reconfigure/cmake/gendeps", line 61, in >    imp.load_module("__main__", f, srcfile, ('.cfg', 'U', 1)) >  File "cfg/Camera1394.cfg", line 40, in >    from dynamic_reconfigure.msg import SensorLevels > ImportError: No module named msg > }}} > > That error message seems to be sucked in by cmake as a list of > dependencies, and I have created #4092 to track the problem. > > In terms of fixing your problem, I would suggest using the SensorLevels > from driver_base. I intend to deprecate the ones in dynamic_reconfigure. > I'm not sure why this is breaking and have created #4093 to remind > myself to figure it out. Thanks, Blaise, that does seem to work around the build problem. I had previously used the SensorLevels in driver_base, before I discovered the one in dynamic_reconfigure and realized I could eliminate the driver_base dependency. Obviously, it should only be in one place. But, I am not sure why you want to deprecate the SensorLevels in dynamic_reconfigure, since driver_base depends on it, not the other way around. The extra dependency does not matter much for camera1394. We may want to actually use driver_base in a future version, anyway. But, I like to avoid unnecessary dependencies, and this change seems to force all dynamic reconfigure users to either depend on driver_base or just make up their own level bits. Is that the idea? Levels are arbitrary and only meaningful to the using package? I didn't understand that when I was figuring out dynamic_reconfigure to begin with. -- joq