Problem with orocos under xenomai

Hi,

I am switching to xenomai and I have a can driver that require to link
against libpthread and librtdm. But when I load my stuff in the taskbrowser
I have :
0.103 [ ERROR ][Logger] could not load library
'/opt/ros/orocos_toolchain_ros/rtt/install/lib/orocos/xenomai/./types/librtt-transport-mqueue-xenomai.so':
libpthread_rt.so.1:
shared object cannot be dlopen()ed
0.223 [ Warning][Logger] Some found plugins could not be loaded !
0.223 [ Warning][Logger] Corrupted files found in
'/opt/ros/orocos_toolchain_ros/rtt/install/lib/orocos'. Fix or remove these
plugins.
2.768 [ ERROR ][DeploymentComponent::import] Could not load library
'/opt/ros/ard/arp_hml/lib/orocos/xenomai/libarp_hml_tests-xenomai.so':
2.768 [ ERROR ][DeploymentComponent::import] librtdm.so.1: shared object
cannot be dlopen()ed
2.773 [ ERROR ][DeploymentComponent::import] Could not load library
'/opt/ros/ard/arp_hml/lib/orocos/xenomai/libarp_hml-xenomai.so':
2.773 [ ERROR ][DeploymentComponent::import] librtdm.so.1: shared object
cannot be dlopen()ed
2.776 [ ERROR ][DeploymentComponent::import] could not load library
'/opt/ros/ard/arp_hml/lib/orocos/xenomai/types/libarp_hml-typekit-xenomai.so':
librtdm.so.1: shared object cannot be dlopen()ed
2.777 [ ERROR ][DeploymentComponent::import] Some found plugins could not
be loaded !

Whereas ldd find correctly the link :
root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai# ldd
libarp_hml_tests-xenomai.so | grep -E "pthread|rtdm"
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f29f680c000)
librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f29f660a000)
root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai# ldd libarp_hml-xenomai.so
| grep -E "pthread|rtdm"
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f1d62f98000)
librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f1d62d96000)
root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai/types# ldd
libarp_hml-typekit-xenomai.so | grep -E "pthread|rtdm"
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f92d635d000)
librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f92d615a000)

Does anyone know what's happening here ?

Problem with orocos under xenomai

2011/8/15 Willy Lambert <lambert [dot] willy [..] ...>

> Hi,
>
> I am switching to xenomai and I have a can driver that require to link
> against libpthread and librtdm. But when I load my stuff in the taskbrowser
> I have :
> 0.103 [ ERROR ][Logger] could not load library
> '/opt/ros/orocos_toolchain_ros/rtt/install/lib/orocos/xenomai/./types/librtt-transport-mqueue-xenomai.so':
> libpthread_rt.so.1:
> shared object cannot be dlopen()ed
> 0.223 [ Warning][Logger] Some found plugins could not be loaded !
> 0.223 [ Warning][Logger] Corrupted files found in
> '/opt/ros/orocos_toolchain_ros/rtt/install/lib/orocos'. Fix or remove these
> plugins.
> 2.768 [ ERROR ][DeploymentComponent::import] Could not load library
> '/opt/ros/ard/arp_hml/lib/orocos/xenomai/libarp_hml_tests-xenomai.so':
> 2.768 [ ERROR ][DeploymentComponent::import] librtdm.so.1: shared object
> cannot be dlopen()ed
> 2.773 [ ERROR ][DeploymentComponent::import] Could not load library
> '/opt/ros/ard/arp_hml/lib/orocos/xenomai/libarp_hml-xenomai.so':
> 2.773 [ ERROR ][DeploymentComponent::import] librtdm.so.1: shared object
> cannot be dlopen()ed
> 2.776 [ ERROR ][DeploymentComponent::import] could not load library
> '/opt/ros/ard/arp_hml/lib/orocos/xenomai/types/libarp_hml-typekit-xenomai.so':
> librtdm.so.1: shared object cannot be dlopen()ed
> 2.777 [ ERROR ][DeploymentComponent::import] Some found plugins could not
> be loaded !
>
> Whereas ldd find correctly the link :
> root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai# ldd
> libarp_hml_tests-xenomai.so | grep -E "pthread|rtdm"
> libpthread.so.0 => /lib/libpthread.so.0 (0x00007f29f680c000)
> librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f29f660a000)
> root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai# ldd
> libarp_hml-xenomai.so | grep -E "pthread|rtdm"
> libpthread.so.0 => /lib/libpthread.so.0 (0x00007f1d62f98000)
> librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f1d62d96000)
> root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai/types# ldd
> libarp_hml-typekit-xenomai.so | grep -E "pthread|rtdm"
> libpthread.so.0 => /lib/libpthread.so.0 (0x00007f92d635d000)
> librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f92d615a000)
>
> Does anyone know what's happening here ?
>

I tried to statically link and I get
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libpthread.a(unwind.o):
relocation R_X86_64_32S against `.text' can not be used when making a shared
object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libpthread.a: could
not read symbols: Bad value

So maybe things related to my 64b linux is under the woods

Problem with orocos under xenomai

On Aug 15, 2011, at 7:48 AM, Willy Lambert wrote:

2011/8/15 Willy Lambert <lambert [dot] willy [..] ...lambert [dot] willy [..] ...>>
Hi,

I am switching to xenomai and I have a can driver that require to link against libpthread and librtdm. But when I load my stuff in the taskbrowser I have :
0.103 [ ERROR ][Logger] could not load library '/opt/ros/orocos_toolchain_ros/rtt/install/lib/orocos/xenomai/./types/librtt-transport-mqueue-xenomai.so': libpthread_rt.so.1:
shared object cannot be dlopen()ed
0.223 [ Warning][Logger] Some found plugins could not be loaded !
0.223 [ Warning][Logger] Corrupted files found in '/opt/ros/orocos_toolchain_ros/rtt/install/lib/orocos'. Fix or remove these plugins.
2.768 [ ERROR ][DeploymentComponent::import] Could not load library '/opt/ros/ard/arp_hml/lib/orocos/xenomai/libarp_hml_tests-xenomai.so':
2.768 [ ERROR ][DeploymentComponent::import] librtdm.so.1: shared object cannot be dlopen()ed
2.773 [ ERROR ][DeploymentComponent::import] Could not load library '/opt/ros/ard/arp_hml/lib/orocos/xenomai/libarp_hml-xenomai.so':
2.773 [ ERROR ][DeploymentComponent::import] librtdm.so.1: shared object cannot be dlopen()ed
2.776 [ ERROR ][DeploymentComponent::import] could not load library '/opt/ros/ard/arp_hml/lib/orocos/xenomai/types/libarp_hml-typekit-xenomai.so': librtdm.so.1: shared object cannot be dlopen()ed
2.777 [ ERROR ][DeploymentComponent::import] Some found plugins could not be loaded !

Whereas ldd find correctly the link :
root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai# ldd libarp_hml_tests-xenomai.so | grep -E "pthread|rtdm"
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f29f680c000)
librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f29f660a000)
root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai# ldd libarp_hml-xenomai.so | grep -E "pthread|rtdm"
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f1d62f98000)
librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f1d62d96000)
root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai/types# ldd libarp_hml-typekit-xenomai.so | grep -E "pthread|rtdm"
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f92d635d000)
librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f92d615a000)

Does anyone know what's happening here ?

I tried to statically link and I get
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libpthread.a(unwind.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libpthread.a: could not read symbols: Bad value

So maybe things related to my 64b linux is under the woods
--
Orocos-Users mailing list
Orocos-Users [..] ...<mailto:Orocos-Users [..] ...>
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users

I believe the solution to this issue is is to build Xenomai with the "--enable-dlopen-skins" option. If you're using "configure", just make it an option of that. If you're going with the Debian package, edit the ./debian/config file and add the option to the list.

--
Dustin Gooding
NASA/JSC Robotics

Problem with orocos under xenomai

On Aug 15, 2011, at 8:14 AM, Gooding, Dustin R. (JSC-ER411) wrote:

On Aug 15, 2011, at 7:48 AM, Willy Lambert wrote:

2011/8/15 Willy Lambert <lambert [dot] willy [..] ...lambert [dot] willy [..] ...>>
Hi,

I am switching to xenomai and I have a can driver that require to link against libpthread and librtdm. But when I load my stuff in the taskbrowser I have :
0.103 [ ERROR ][Logger] could not load library '/opt/ros/orocos_toolchain_ros/rtt/install/lib/orocos/xenomai/./types/librtt-transport-mqueue-xenomai.so': libpthread_rt.so.1:
shared object cannot be dlopen()ed
0.223 [ Warning][Logger] Some found plugins could not be loaded !
0.223 [ Warning][Logger] Corrupted files found in '/opt/ros/orocos_toolchain_ros/rtt/install/lib/orocos'. Fix or remove these plugins.
2.768 [ ERROR ][DeploymentComponent::import] Could not load library '/opt/ros/ard/arp_hml/lib/orocos/xenomai/libarp_hml_tests-xenomai.so':
2.768 [ ERROR ][DeploymentComponent::import] librtdm.so.1: shared object cannot be dlopen()ed
2.773 [ ERROR ][DeploymentComponent::import] Could not load library '/opt/ros/ard/arp_hml/lib/orocos/xenomai/libarp_hml-xenomai.so':
2.773 [ ERROR ][DeploymentComponent::import] librtdm.so.1: shared object cannot be dlopen()ed
2.776 [ ERROR ][DeploymentComponent::import] could not load library '/opt/ros/ard/arp_hml/lib/orocos/xenomai/types/libarp_hml-typekit-xenomai.so': librtdm.so.1: shared object cannot be dlopen()ed
2.777 [ ERROR ][DeploymentComponent::import] Some found plugins could not be loaded !

Whereas ldd find correctly the link :
root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai# ldd libarp_hml_tests-xenomai.so | grep -E "pthread|rtdm"
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f29f680c000)
librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f29f660a000)
root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai# ldd libarp_hml-xenomai.so | grep -E "pthread|rtdm"
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f1d62f98000)
librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f1d62d96000)
root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai/types# ldd libarp_hml-typekit-xenomai.so | grep -E "pthread|rtdm"
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f92d635d000)
librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f92d615a000)

Does anyone know what's happening here ?

I tried to statically link and I get
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libpthread.a(unwind.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libpthread.a: could not read symbols: Bad value

So maybe things related to my 64b linux is under the woods
--
Orocos-Users mailing list
Orocos-Users [..] ...<mailto:Orocos-Users [..] ...>
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users

I believe the solution to this issue is is to build Xenomai with the "--enable-dlopen-skins" option. If you're using "configure", just make it an option of that. If you're going with the Debian package, edit the ./debian/config file and add the option to the list.

--
Dustin Gooding
NASA/JSC Robotics
--
Orocos-Users mailing list
Orocos-Users [..] ...<mailto:Orocos-Users [..] ...>
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users

Apologies… that should be "./debian/rules".

CONFIG_OPTS += --enable-dlopen-skins

Problem with orocos under xenomai

2011/8/15 Gooding, Dustin R. (JSC-ER411) <dustin [dot] r [dot] gooding [..] ...>

> On Aug 15, 2011, at 8:14 AM, Gooding, Dustin R. (JSC-ER411) wrote:
>
> On Aug 15, 2011, at 7:48 AM, Willy Lambert wrote:
>
>
>
> 2011/8/15 Willy Lambert <lambert [dot] willy [..] ...>
>
>> Hi,
>>
>> I am switching to xenomai and I have a can driver that require to link
>> against libpthread and librtdm. But when I load my stuff in the taskbrowser
>> I have :
>> 0.103 [ ERROR ][Logger] could not load library
>> '/opt/ros/orocos_toolchain_ros/rtt/install/lib/orocos/xenomai/./types/librtt-transport-mqueue-xenomai.so':
>> libpthread_rt.so.1:
>> shared object cannot be dlopen()ed
>> 0.223 [ Warning][Logger] Some found plugins could not be loaded !
>> 0.223 [ Warning][Logger] Corrupted files found in
>> '/opt/ros/orocos_toolchain_ros/rtt/install/lib/orocos'. Fix or remove these
>> plugins.
>> 2.768 [ ERROR ][DeploymentComponent::import] Could not load library
>> '/opt/ros/ard/arp_hml/lib/orocos/xenomai/libarp_hml_tests-xenomai.so':
>> 2.768 [ ERROR ][DeploymentComponent::import] librtdm.so.1: shared object
>> cannot be dlopen()ed
>> 2.773 [ ERROR ][DeploymentComponent::import] Could not load library
>> '/opt/ros/ard/arp_hml/lib/orocos/xenomai/libarp_hml-xenomai.so':
>> 2.773 [ ERROR ][DeploymentComponent::import] librtdm.so.1: shared object
>> cannot be dlopen()ed
>> 2.776 [ ERROR ][DeploymentComponent::import] could not load library
>> '/opt/ros/ard/arp_hml/lib/orocos/xenomai/types/libarp_hml-typekit-xenomai.so':
>> librtdm.so.1: shared object cannot be dlopen()ed
>> 2.777 [ ERROR ][DeploymentComponent::import] Some found plugins could not
>> be loaded !
>>
>> Whereas ldd find correctly the link :
>> root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai# ldd
>> libarp_hml_tests-xenomai.so | grep -E "pthread|rtdm"
>> libpthread.so.0 => /lib/libpthread.so.0 (0x00007f29f680c000)
>> librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f29f660a000)
>> root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai# ldd
>> libarp_hml-xenomai.so | grep -E "pthread|rtdm"
>> libpthread.so.0 => /lib/libpthread.so.0 (0x00007f1d62f98000)
>> librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f1d62d96000)
>> root@beta:/opt/ros/ard/arp_hml/lib/orocos/xenomai/types# ldd
>> libarp_hml-typekit-xenomai.so | grep -E "pthread|rtdm"
>> libpthread.so.0 => /lib/libpthread.so.0 (0x00007f92d635d000)
>> librtdm.so.1 => /usr/lib/librtdm.so.1 (0x00007f92d615a000)
>>
>> Does anyone know what's happening here ?
>>
>
> I tried to statically link and I get
> /usr/bin/ld:
> /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libpthread.a(unwind.o):
> relocation R_X86_64_32S against `.text' can not be used when making a shared
> object; recompile with -fPIC
> /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/libpthread.a: could
> not read symbols: Bad value
>
> So maybe things related to my 64b linux is under the woods
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>
>
>
> I believe the solution to this issue is is to build Xenomai with the
> "--enable-dlopen-skins" option. If you're using "configure", just make it
> an option of that. If you're going with the Debian package, edit the
> ./debian/config file and add the option to the list.
>
> --
> *Dustin Gooding*
> NASA/JSC Robotics
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>
>
>
> Apologies… that should be "./debian/rules".
>
> CONFIG_OPTS += --enable-dlopen-skins
>

Thanks for this, I'll try.

I am currently using pre-build package that I have taken from newer Debian
releases :
root@ard-host:/usr# dpkg -l | grep ii | grep xenomai
ii libxenomai-dev 2.5.6-2
Headers and static libs for Xenomai
ii libxenomai1 2.5.6-2
Shared libraries for Xenomai
ii xenomai-runtime 2.5.6-2
Xenomai runtime utilities
I wonder why this option is disabled since there a shared library package,
but nayway.