Dirk, great, thanks. We weren't aware that messages were affected as well (didn't happen to us). Anyway, thanks for fixing it. Jan On 05.06.2013, at 23:19, Dirk Thomas wrote: > The fixed proposed in the last email is not addressing the initial problem but only the symptom. > The issue is also not specific to actions but can also happen for messages. > > I have committed a fix to genmsg - for further information please see https://github.com/ros/genmsg/pull/27 > genmsg will be released with that patch soon (likely tomorrow), after that it will take the usual period to propagate to shadow-fixed and public. > > - Dirk > > > On 05.06.2013 06:49, Jan Winkler wrote: >> Hey, >> >> the issue was related to search path appearing multiple times when looking for .msg-files to process. >> The fix is to be found here: https://github.com/fairlight1337/genlisp/commit/891f74f18b2a3b62fc314742e7225faaab29be13 >> >> Opened a pull request for the original repo. >> >> Best, >> Jan >> >> On 06/05/2013 02:58 PM, Georg Bartels wrote: >>> Hi Jan, >>> >>> I can confirm the issue: When building your provided package action_test_catkin with catkin_make the resulting lisp-structures for the two actions show up twice in the auto-generated asd-file. As >>> another test, I added another two test actions. Then every action defined ended up four times in the auto-generated asd-file. >>> >>> So, it seems with n action definitions a) genlisp gets called n times for all action-related messages or b) genlisp gets called with a list of messages to build where this list contains the >>> action-related messages n times. >>> >>> Just for reference, I'm running groovy on oneiric 64 bit. >>> >>> Cheers, >>> Georg. >>> >>> >>> On 06/05/2013 12:43 PM, Jan Winkler wrote: >>>> Hey guys, >>>> >>>> we just realized a problematic issue when generating action message using the catkin message generation mechanism. >>>> >>>> When catkin_make'ing a package that includes actions, the corresponding messages (`.msg`-files) containing the Request, Result, and Feedback structures are referenced multiple times in the >>>> resulting `.asd`-Lisp file for that package. >>>> >>>> This practically breaks loading the message definitions into roslisp, making the message types unusable this way. >>>> >>>> The issue arises once you define more than one action in a package. If only one action is defined, it does not come up. When defining more than one `.action`-file (say, n files) and putting them >>>> into your CMakeLists.txt file, the block in the `.asd`-file for that action gets written n times. >>>> >>>> Just for clarification, if a message is defined more than once in the `.asd`-file by the same name (which is the case here), it is unloadable by ASDF (and therefore, roslisp!). >>>> >>>> The issue does not arise when configuring the package as a rosbuild package (i.e. all `.asd`-files get generated just fine). >>>> >>>> The consequence of this issue is, that every package built using catkin has this problem. Actually, the _officially_released_ packages include this error. >>>> I'm on Quantal (12.10), using ros-groovy. A good example is the `moveit_msgs` package. If you look into the file `/opt/ros/groovy/share/common-lisp/ros/moveit_msgs/msg/moveit_msgs-msg.asd`, you >>>> will most probably find, for example, the "PickupResult" file being referenced several times (three times, that is). >>>> The MoveIt! messages (and any other released catkin package messages including a number of actions > 1) are therefore not usable in ANY roslisp code in groovy. >>>> >>>> I attached a sample setup once configured as a rosbuild package and once as a catkin package. The resulting .asd files for both cases as well as their diff are attached as well (speak `diff >>>> action_test_catkin-msg.asd action_test_rosbuild-msg.asd`). As you can see, there is an additional block describing the Test.action and Test2.action messages, hence breaking the load process of the >>>> ASDF system. >>>> >>>> We added two individual messages `MessageTest.msg` and `MessageTest2.msg`. These get generated only once in every case. >>>> >>>> Correcting the file by hand makes the ASDF system load and work just fine. >>>> A wild guess would be that genlisp is doing something wrong when enumerating the things it has to write into the `.asd`-file. >>>> >>>> Can anyone confirm this issue? >>>> >>>> >>>> Best regards, >>>> Jan >>>> >>>> >>>> >>>> _______________________________________________ >>>> ros-users mailing list >>>> ros-users@code.ros.org >>>> https://code.ros.org/mailman/listinfo/ros-users >>> >>> >>> >>> _______________________________________________ >>> ros-users mailing list >>> ros-users@code.ros.org >>> https://code.ros.org/mailman/listinfo/ros-users >> >> -- >> Dipl. Ing. Jan Winkler >> Technologie-Zentrum Informatik und Informationstechnik >> Raum 1.56 >> Am Fallturm 1 (TAB Gebaeude) >> Universitaet Bremen >> 28359 Bremen, Deutschland >> >> E-Mail:winkler@cs.uni-bremen.de >> Tel: +49 (0)421-218-64019 >> Fax: +49 (0)421-218-64047 >> >> >> >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users >