Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

orogen generate invalid typlib files (includes are resolved wrongly) #50

Open
goldhoorn opened this issue May 11, 2015 · 5 comments
Open

Comments

@goldhoorn
Copy link
Member

On rc-build the base/orogen/types cannot be compiled if ocl build is active.

Orogen tries to export all types because it get called with:

orogen --corba --import=std --parallel-build=4 --transports=corba,mqueue,typelib --type-export-policy=all base.orogen

unfourtnalty this causes wrong include for some new files, instead of JointLimitRange the Joint Header get catched which is not related to the JointLimitRange

It seems a problem with these function https://github.com/orocos-toolchain/orogen/blob/master/lib/orogen/gen/typekit.rb#L1321

Error:

/home/goldhoorn/bootstraps/release-nativ/base/orogen/types/.orogen/typekit/transports/corba/__base__NamedVector____base__JointLimitRange__.cpp:59:76: error: 'JointLimitRange' is not a member of 'base'

Header snip:

  1 /* Generated from orogen/lib/orogen/templates/typekit/typelib/Type.cpp */
  2 
  3 #include <base/samples/Joints.hpp>
  4 #include <rtt/typelib/TypelibMarshaller.hpp>
  5 #include "transports/typelib/Registration.hpp"
  6 
  7 orogen_transports::TypelibMarshallerBase* orogen_typekits::base_NamedVector__base_JointLimitRange__TypelibMarshaller(Typelib::Registry const& registry)
  8 {
  9     return new orogen_transports::TypelibMarshaller< ::base::NamedVector< ::base::JointLimitRange > >("/base/NamedVector</base/JointLimitRange>", registry);
 10 }

@marvin2k
Copy link
Contributor

somewhere back in the clang-time i stumpled upon a similar problem... cannot find it right away, but this looks familiar... rant it takes ages to get back into a clean position to debug this... heaps of layers above other heaps of layers...

goldhoorn added a commit that referenced this issue May 21, 2015
#50

The generated include mapping is invalid if some headers include other
known base types if templates in between are used.
@goldhoorn
Copy link
Member Author

I created a workaround for the release:

99c370c

goldhoorn added a commit that referenced this issue May 21, 2015
@goldhoorn
Copy link
Member Author

Sorry this was too fast, i reverted it it causes problems on other datatypes...

goldhoorn added a commit to rock-core/base-orogen-types that referenced this issue May 21, 2015
This PR sets back the export policy to :selected if :all is requested.
All curerntly fails on orogen. To keep the release compiling
the switch back was added.
@goldhoorn
Copy link
Member Author

Created workaround on the types:
rock-core/base-orogen-types#13

@doudou
Copy link
Contributor

doudou commented May 22, 2015

FYI, works on my master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants