[Rock-dev] [rock] #321: nested namespaces don't work in orogen
rock
noreply at opendfki.de
Tue Aug 20 11:37:30 CEST 2013
#321: nested namespaces don't work in orogen
-----------------------+-----------------------------------
Reporter: chcl01@… | Owner: rock-dev-mailing-list
Type: defect | Status: new
Priority: normal | Milestone:
Component: toolchain | Keywords:
-----------------------+-----------------------------------
nesting an enum like this (minimalized):
struct PrimitiveObject
{
/** primitive type */
enum types
{
INVALID = 0,
BOX,
CYLINDER
};
/** type of the the primitive */
types type;
}
will result in this error:
rock-create-orogen
WARNING: Nokogiri was built against LibXML version 2.8.0, but has
dynamically loaded 2.7.8
xml_find_template_parm encountered unsupported type identifier_node
Typelib[WARN]: /usr/include/boost/smart_ptr/shared_ptr.hpp:169: ignoring
/boost/shared_ptr</object_detection/Object> since its field px is private
Typelib[WARN]:
/home/clausen/SpaceBot/install/include/object_detection/Objects.hpp:85:
cannot create the /object_detection/Object/Ptr typedef, as it points to
/boost/shared_ptr</object_detection/Object> which is ignored
xml_find_template_parm encountered unsupported type identifier_node
===== Internal error =======
Please report the following error to the orogen developers
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/registry.rb:587:in
`build': cannot load the definition of opaque m-types: cannot load one of
the header files /tmp/orogen20130819-30630-1ld5eyr: cannot find /types in
registry (Orocos::Generation::InternalError)
The faulty code is
0 /* Generated from
orogen/lib/orogen/templates/typekit/marshalling_types.hpp */
1
2
3
4 #include
"/home/clausen/SpaceBot/install/include/object_detection/Objects.hpp"
5 #include
"/home/clausen/SpaceBot/image_processing/orogen/object_detection/.orogen/object_detectionTaskStates.hpp"
6 #include "object_detection/object_detectionTaskStates.hpp"
7 #include <base/Types.hpp>
8 #include <envire/Types.hpp>
9 #include <logger/Types.hpp>
10 #include <std/Types.hpp>
11
12
13
14
15 namespace object_detection {
16
17 struct Box_m
18 {
19 ::wrappers::Vector3d position ;
20 ::wrappers::Quaterniond orientation ;
21 double likelihood ;
22 double shapeMatch ;
23 ::object_detection::Color color ;
24 ::wrappers::Vector3d dimensions ;
25 };
26 }
27
28
29
30
31 namespace object_detection {
32
33 struct Cylinder_m
34 {
35 ::wrappers::Vector3d position ;
36 ::wrappers::Quaterniond orientation ;
37 double likelihood ;
38 double shapeMatch ;
39 ::object_detection::Color color ;
40 float diameter ;
41 float height ;
42 };
43 }
44
45
46
47
48 namespace object_detection {
49
50 struct Object_m
51 {
52 ::wrappers::Vector3d position ;
53 ::wrappers::Quaterniond orientation ;
54 double likelihood ;
55 double shapeMatch ;
56 ::object_detection::Color color ;
57 };
58 }
59
60
61
62
63 namespace object_detection {
64
65 struct PrimitiveObject_m
66 {
67 ::object_detection::PrimitiveObject::types type ;
68 ::wrappers::Vector4d param ;
69 };
70 }
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/registry.rb:587:in
`add'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:555:in
`block (2 levels) in resolve_type_definition'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:554:in
`each'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:554:in
`block in resolve_type_definition'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/registry.rb:625:in
`create_compound'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:546:in
`resolve_type_definition'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:362:in
`resolve_type_id'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:354:in
`resolve_context'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:615:in
`resolve_type_definition'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:362:in
`resolve_type_id'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:540:in
`block in resolve_type_definition'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:537:in
`map'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:537:in
`resolve_type_definition'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:738:in
`block in load'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:737:in
`each'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:737:in
`load'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/gccxml.rb:830:in
`load_from_gccxml'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/registry.rb:474:in
`call'
from
/home/clausen/SpaceBot/install/lib/ruby/1.9.1/typelib/registry.rb:474:in
`import'
from
/home/clausen/SpaceBot/tools/orogen/lib/orogen/gen/typekit.rb:1544:in
`do_import'
from
/home/clausen/SpaceBot/tools/orogen/lib/orogen/gen/typekit.rb:1283:in
`block in perform_pending_loads'
from
/home/clausen/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/tempfile.rb:320:in
`open'
from
/home/clausen/SpaceBot/tools/orogen/lib/orogen/gen/typekit.rb:1276:in
`perform_pending_loads'
from
/home/clausen/SpaceBot/tools/orogen/lib/orogen/gen/typekit.rb:1516:in
`block (2 levels) in handle_opaques_generation'
from
/home/clausen/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/tempfile.rb:320:in
`open'
from
/home/clausen/SpaceBot/tools/orogen/lib/orogen/gen/typekit.rb:1507:in
`block in handle_opaques_generation'
from
/home/clausen/SpaceBot/tools/orogen/lib/orogen/gen/typekit.rb:1506:in
`catch'
from
/home/clausen/SpaceBot/tools/orogen/lib/orogen/gen/typekit.rb:1506:in
`handle_opaques_generation'
from
/home/clausen/SpaceBot/tools/orogen/lib/orogen/gen/typekit.rb:1712:in
`generate'
from
/home/clausen/SpaceBot/tools/orogen/lib/orogen/gen/project.rb:666:in
`generate'
from /home/clausen/SpaceBot/tools/orogen/bin/orogen:158:in
`<main>'
--
Ticket URL: <http://rock.opendfki.de/ticket/321>
rock <http://rock.opendfki.de>
rock: the robot construction kit
More information about the Rock-dev
mailing list