Orogen lodable component

Dear Sirs,

is It possible to use orogen to build components that are lodable by deployer-<targhet> ?

I tried to create a test component, but the deployer give me the following errors

0.100 [ Info ][DeploymentComponent::import] Importing component libraries from directory /usr/local/lib/orocos ... 0.119 [ ERROR ][DeploymentComponent::import] Unloading /usr/local/lib/orocos/libtest-tasks-gnulinux.so: not a valid component library: 0.119 [ ERROR ][DeploymentComponent::import] /usr/local/lib/orocos/libtest-tasks-gnulinux.so: undefined symbol: createComponent 0.119 [ ERROR ][DeploymentComponent::import] /usr/local/lib/orocos/libtest-tasks-gnulinux.so: undefined symbol: getComponentType

Than you.

Gianpaolo Rizzi

Orogen lodable component

On 11/01/2010 11:38 PM, gprizzi [..] ... wrote:
> Dear Sirs,
>
> is It possible to use orogen to build components that are lodable by
> deployer-<targhet> ?
>
> I tried to create a test component, but the deployer give me the following errors
>
> 0.100 [ Info ][DeploymentComponent::import] Importing component libraries from directory /usr/local/lib/orocos ...
> 0.119 [ ERROR ][DeploymentComponent::import] Unloading /usr/local/lib/orocos/libtest-tasks-gnulinux.so: not a valid component library:
> 0.119 [ ERROR ][DeploymentComponent::import] /usr/local/lib/orocos/libtest-tasks-gnulinux.so: undefined symbol: createComponent
> 0.119 [ ERROR ][DeploymentComponent::import] /usr/local/lib/orocos/libtest-tasks-gnulinux.so: undefined symbol: getComponentType
Since I am not using the deployer, the orogen-generated task libraries
are probably not loadable by it.

If someone tells me what I need to add, I will gladly fix that.

Orogen lodable component

On Tuesday 02 November 2010 10:39:01 Sylvain Joyeux wrote:
> On 11/01/2010 11:38 PM, gprizzi [..] ... wrote:
> > Dear Sirs,
> >
> > is It possible to use orogen to build components that are lodable by
> > deployer-<targhet> ?
> >
> > I tried to create a test component, but the deployer give me the
> > following errors
> >
> > 0.100 [ Info ][DeploymentComponent::import] Importing component
> > libraries from directory /usr/local/lib/orocos ... 0.119 [ ERROR
> > ][DeploymentComponent::import] Unloading
> > /usr/local/lib/orocos/libtest-tasks-gnulinux.so: not a valid component
> > library: 0.119 [ ERROR ][DeploymentComponent::import]
> > /usr/local/lib/orocos/libtest-tasks-gnulinux.so: undefined symbol:
> > createComponent 0.119 [ ERROR ][DeploymentComponent::import]
> > /usr/local/lib/orocos/libtest-tasks-gnulinux.so: undefined symbol:
> > getComponentType
>
> Since I am not using the deployer, the orogen-generated task libraries
> are probably not loadable by it.
>
> If someone tells me what I need to add, I will gladly fix that.

You have two options:

1 library == 1 component:
add ORO_CREATE_COMPONENT( namespace::classname )
to one of the .cpp file

1 library == N components (N: 0->...):
add ORO_CREATE_COMPONENT_TYPE()
to one .cpp file and for each component, add a line:
ORO_LIST_COMPONENT_TYPE( namespace::clasnames )

The macro names are horrible.

Peter

Orogen lodable component

On Nov 3, 2010, at 09:58 , Peter Soetens wrote:

> On Tuesday 02 November 2010 10:39:01 Sylvain Joyeux wrote:
>> On 11/01/2010 11:38 PM, gprizzi [..] ... wrote:
>>> Dear Sirs,
>>>
>>> is It possible to use orogen to build components that are lodable by
>>> deployer-<targhet> ?
>>>
>>> I tried to create a test component, but the deployer give me the
>>> following errors
>>>
>>> 0.100 [ Info ][DeploymentComponent::import] Importing component
>>> libraries from directory /usr/local/lib/orocos ... 0.119 [ ERROR
>>> ][DeploymentComponent::import] Unloading
>>> /usr/local/lib/orocos/libtest-tasks-gnulinux.so: not a valid component
>>> library: 0.119 [ ERROR ][DeploymentComponent::import]
>>> /usr/local/lib/orocos/libtest-tasks-gnulinux.so: undefined symbol:
>>> createComponent 0.119 [ ERROR ][DeploymentComponent::import]
>>> /usr/local/lib/orocos/libtest-tasks-gnulinux.so: undefined symbol:
>>> getComponentType
>>
>> Since I am not using the deployer, the orogen-generated task libraries
>> are probably not loadable by it.
>>
>> If someone tells me what I need to add, I will gladly fix that.
>
> You have two options:
>
> 1 library == 1 component:
> add ORO_CREATE_COMPONENT( namespace::classname )
> to one of the .cpp file
>
> 1 library == N components (N: 0->...):
> add ORO_CREATE_COMPONENT_TYPE()
> to one .cpp file and for each component, add a line:
> ORO_LIST_COMPONENT_TYPE( namespace::clasnames )
>
> The macro names are horrible.

Yeah, but they work. :-)
S