<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hey,<br>
    <br>
    the issue was related to search path appearing multiple times when
    looking for .msg-files to process.<br>
    The fix is to be found here:
<a class="moz-txt-link-freetext" href="https://github.com/fairlight1337/genlisp/commit/891f74f18b2a3b62fc314742e7225faaab29be13">https://github.com/fairlight1337/genlisp/commit/891f74f18b2a3b62fc314742e7225faaab29be13</a><br>
    <br>
    Opened a pull request for the original repo.<br>
    <br>
    Best,<br>
    Jan<br>
    <br>
    <div class="moz-cite-prefix">On 06/05/2013 02:58 PM, Georg Bartels
      wrote:<br>
    </div>
    <blockquote cite="mid:51AF35DD.4060903@cs.uni-bremen.de" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">Hi Jan,<br>
        <br>
        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. <br>
        <br>
        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.<br>
        <br>
        Just for reference, I'm running groovy on oneiric 64 bit.<br>
        <br>
        Cheers,<br>
        Georg.<br>
        <br>
        <br>
        On 06/05/2013 12:43 PM, Jan Winkler wrote:<br>
      </div>
      <blockquote cite="mid:51AF166B.90507@cs.uni-bremen.de" type="cite">Hey

        guys, <br>
        <br>
        we just realized a problematic issue when generating action
        message using the catkin message generation mechanism. <br>
        <br>
        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. <br>
        <br>
        This practically breaks loading the message definitions into
        roslisp, making the message types unusable this way. <br>
        <br>
        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. <br>
        <br>
        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!). <br>
        <br>
        The issue does not arise when configuring the package as a
        rosbuild package (i.e. all `.asd`-files get generated just
        fine). <br>
        <br>
        The consequence of this issue is, that every package built using
        catkin has this problem. Actually, the _officially_released_
        packages include this error. <br>
        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). <br>
        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. <br>
        <br>
        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. <br>
        <br>
        We added two individual messages `MessageTest.msg` and
        `MessageTest2.msg`. These get generated only once in every case.
        <br>
        <br>
        Correcting the file by hand makes the ASDF system load and work
        just fine. <br>
        A wild guess would be that genlisp is doing something wrong when
        enumerating the things it has to write into the `.asd`-file. <br>
        <br>
        Can anyone confirm this issue? <br>
        <br>
        <br>
        Best regards, <br>
        Jan <br>
        <br>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
ros-users mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a>
</pre>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
ros-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a>
<a class="moz-txt-link-freetext" href="https://code.ros.org/mailman/listinfo/ros-users">https://code.ros.org/mailman/listinfo/ros-users</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Dipl. Ing. Jan Winkler
Technologie-Zentrum Informatik und Informationstechnik
Raum 1.56
Am Fallturm 1 (TAB Gebaeude)
Universitaet Bremen
28359 Bremen, Deutschland

E-Mail: <a class="moz-txt-link-abbreviated" href="mailto:winkler@cs.uni-bremen.de">winkler@cs.uni-bremen.de</a>
Tel: +49 (0)421-218-64019
Fax: +49 (0)421-218-64047</pre>
  </body>
</html>