<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>