Multi-component libraries broken in trunk?

Hi,

i just updated my rtt and ocl to the latest trunk and i noticed that
the loading multi-component libraries in the deployer is broken:

liborocos-naxes has at least 5 components, nAxesControllerPos,
nAxesControllerPosVel, nAxesControllerVel, nAxesGeneratorPos,
nAxesGeneratorVel, but only the first one is available for creation of
a component:

Got :import("/usr/local/lib/liborocos-naxes-macosx")
1.636 [ Debug ][DeploymentComponent::import] Importing /usr/local/lib/
liborocos-naxes-macosx
1.653 [ Debug ][DeploymentComponent::loadLibrary] Storing orocos-
naxes-macosx
1.653 [ Info ][DeploymentComponent::loadLibrary] Loaded multi
component library '/usr/local/lib/liborocos-naxes-macosx.dylib'
1.653 [ Debug ][DeploymentComponent::loadLibrary] Components:
OCL::nAxesControllerPos
1.653 [ Debug ][DeploymentComponent::loadLibrary] dlsym(0xc0eaf0,
createComponent): symbol not found
1.653 [ Debug ][DeploymentComponent::loadLibrary] dlsym(0xc0eaf0,
loadRTTPlugin): symbol not found
= true

loadComponent("generator","OCL::nAxesGeneratorPos")
Got :loadComponent("generator","OCL::nAxesGeneratorPos")
74.421 [ ERROR ][DeploymentComponent::loadComponent] Unable to locate
Orocos plugin 'OCL::nAxesGeneratorPos': unknown component type.
= false

In Task Deployer[S]. (Status of last Command : none )
(type 'ls' for context
info) :loadComponent("controller","OCL::nAxesControllerPos")
Got :loadComponent("controller","OCL::nAxesControllerPos")
90.124 [ Debug ][DeploymentComponent::loadComponent] Found factory
for Component type OCL::nAxesControllerPos
90.124 [ Debug ][ExecutionEngine] Creating ExecutionEngine for
controller
90.125 [ Info ][DeploymentComponent::loadComponent] Adding
controller as new peer: OK.
= true

i did a complete clean build of rtt and ocl.

Ruben

Multi-component libraries broken in trunk?

On Monday 22 December 2008 15:55:35 Ruben Smits wrote:
> Hi,
>
> i just updated my rtt and ocl to the latest trunk and i noticed that
> the loading multi-component libraries in the deployer is broken:
>
> liborocos-naxes has at least 5 components, nAxesControllerPos,
> nAxesControllerPosVel, nAxesControllerVel, nAxesGeneratorPos,
> nAxesGeneratorVel, but only the first one is available for creation of
> a component:

The bug is more likely to be in your component library (mixing with Mac-OSX).
Take a look at the ComponentLoader.hpp documentation for the best way to
put multiple components in one library. (ie put all ORO_ macros in one .cpp
file)

Peter

Multi-component libraries broken in trunk?

> I don't know why it works, but i solved it by adding all components to
> the components-list in one source file instead of all the seperate
> ones. So i created a new file nAxesComponents.cpp which only contains
> the componentloader part of the naxes components.

This is how it is supposed to work portably.

Peter

>
> Ruben
>
>
> On 22 Dec 2008, at 17:25, Peter Soetens wrote:
>
>> On Monday 22 December 2008 15:55:35 Ruben Smits wrote:
>>> Hi,
>>>
>>> i just updated my rtt and ocl to the latest trunk and i noticed that
>>> the loading multi-component libraries in the deployer is broken:
>>>
>>> liborocos-naxes has at least 5 components, nAxesControllerPos,
>>> nAxesControllerPosVel, nAxesControllerVel, nAxesGeneratorPos,
>>> nAxesGeneratorVel, but only the first one is available for creation
>>> of
>>> a component:
>>
>> The bug is more likely to be in your component library (mixing with
>> Mac-OSX).
>> Take a look at the ComponentLoader.hpp documentation for the best
>> way to
>> put multiple components in one library. (ie put all ORO_ macros in
>> one .cpp
>> file)
>>
>> Peter
>> --
>> Orocos-Dev mailing list
>> Orocos-Dev [..] ...
>> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev
>>
>> Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
>>
>
> --
> Orocos-Dev mailing list
> Orocos-Dev [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev
>
> Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
>
>