Strungling to get typegen working on OSX

Hi all,

I'm trying to get typegen working in my setup but have bumped into
something strange which I'm unable to resolve myself.

I've build and installed all of the orocos_toolchain and the necessary
rubygems but I get the following error when running typegen:

typegen --output /tmp foo-typekit foo-types.hpp
/Users/rubensmits/orocos_homebrew/install_isolated/lib/ruby/1.8/universal-darwin10.0/orogen/gen/imports.rb:44:in
`merge_xml': cannot load xml: plugin not found (ArgumentError)
from
/Users/rubensmits/orocos_homebrew/install_isolated/lib/ruby/1.8/universal-darwin10.0/orogen/gen/imports.rb:44:in
`from_raw_data'
from
/Users/rubensmits/orocos_homebrew/install_isolated/lib/ruby/1.8/universal-darwin10.0/orogen/gen/project.rb:277:in
`using_rtt_typekit'
from
/Users/rubensmits/orocos_homebrew/install_isolated/lib/ruby/1.8/universal-darwin10.0/orogen/gen/typekit.rb:870:in
`initialize'
from /Users/rubensmits/orocos_homebrew/install_isolated/bin/typegen:11:in
`new'
from /Users/rubensmits/orocos_homebrew/install_isolated/bin/typegen:11

I tracked this down to typelib not using typelib-gccxml (according to the
following topic on the mailinglist:
http://lists.mech.kuleuven.be/pipermail/orocos-users/2011-October/004653...)
although this file is installed in the $RUBYLIB env path or the missing
facets gem, which is installed using rubygems

I've tried to test if I can load typelib-gccxml in a ruby-script and this
is where I lost it:

ruby -e"require 'typelib-gccxml'" or ruby -e "require 'typelib' "

seems to work fine without any error, although the following fails:

ruby -rtypelib -e exit
/Users/rubensmits/orocos_homebrew/install_isolated/lib/ruby/1.8/universal-darwin10.0/typelib.rb:8:in
`require': no such file to load -- facets/string/camelcase (LoadError)
from
/Users/rubensmits/orocos_homebrew/install_isolated/lib/ruby/1.8/universal-darwin10.0/typelib.rb:8

I have no idea why the facets gems is found in the first case, and why its
not in the second case, but I have the feeling if I can resolve this the
typegen issue would be solved.

Any advice/ideas?

Ruben

Ruben Smits, Phd
Chief Technology Officer
Intermodalics BVBA
+32479511786
www.intermodalics.eu

Strungling to get typegen working on OSX

On 04/29/2013 09:58 PM, Ruben Smits wrote:
> Hi all,
>
> I'm trying to get typegen working in my setup but have bumped into
> something strange which I'm unable to resolve myself.
>
> I've build and installed all of the orocos_toolchain and the necessary
> rubygems but I get the following error when running typegen:
>
> typegen --output /tmp foo-typekit foo-types.hpp
> /Users/rubensmits/orocos_homebrew/install_isolated/lib/ruby/1.8/universal-darwin10.0/orogen/gen/imports.rb:44:in
> `merge_xml': cannot load xml: plugin not found (ArgumentError)
This looks like typelib's cmake code not finding libxml while
configuring / compiling. All typegen-generated registries are eventually
saved as XML and I use libxml to parse it back.

Ruben Smits's picture

Strungling to get typegen working on OSX

Hi,

On Tue, Apr 30, 2013 at 10:21 AM, Sylvain Joyeux <sylvain [dot] joyeux [..] ...>wrote:

> On 04/29/2013 09:58 PM, Ruben Smits wrote:
>
>> Hi all,
>>
>> I'm trying to get typegen working in my setup but have bumped into
>> something strange which I'm unable to resolve myself.
>>
>> I've build and installed all of the orocos_toolchain and the necessary
>> rubygems but I get the following error when running typegen:
>>
>> typegen --output /tmp foo-typekit foo-types.hpp
>> /Users/rubensmits/orocos_**homebrew/install_isolated/lib/**
>> ruby/1.8/universal-darwin10.0/**orogen/gen/imports.rb:44:in `merge_xml':
>> cannot load xml: plugin not found (ArgumentError)
>>
> This looks like typelib's cmake code not finding libxml while configuring
> / compiling. All typegen-generated registries are eventually saved as XML
> and I use libxml to parse it back.
>
>
I doubt this is the case:

typelib's cmake run is not complaining about not finding libxml, it is also
definitely installed and used. Both the typeLang_tlb and typeLang_idl
libraries are linking to it:

otool -L
/Users/rubensmits/orocos_homebrew/install_isolated/lib/typelib/libtypeLang_tlb.dylib
/Users/rubensmits/orocos_homebrew/install_isolated/lib/typelib/libtypeLang_tlb.dylib:
libtypeLang_tlb.dylib (compatibility version 0.0.0, current version 0.0.0)
libtypeLib.1.dylib (compatibility version 1.0.0, current version 1.1.0)
/usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version
10.3.0)
/Users/rubensmits/orocos_homebrew/devel_isolated/utilmm/lib/libutilmm.1.dylib
(compatibility version 1.0.0, current version 1.1.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version
7.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
125.2.11)

The path of the libtypeLang_tlb/idl.dylib are added to my RUBYLIB: echo
$RUBYLIB
/Users/rubensmits/orocos_homebrew/install_isolated/lib:/Users/rubensmits/orocos_homebrew/install_isolated/lib/typelib:/Users/rubensmits/orocos_homebrew/install_isolated/lib/ruby/1.8/universal-darwin10.0:/Users/rubensmits/orocos_homebrew/install_isolated/lib/ruby/1.8

Am I missing something more??

Ruben

Strungling to get typegen working on OSX

On 04/30/2013 11:07 AM, Ruben Smits wrote:
> Am I missing something more??
Yes. These libraries are never seen by ruby, only by typelib. And
typelib only tries to load .so files ...

See typelib/pluginmanager.cc:68

Sylvain

Ruben Smits's picture

Strungling to get typegen working on OSX

On Tue, Apr 30, 2013 at 1:03 PM, Sylvain Joyeux <sylvain [dot] joyeux [..] ...>wrote:

> On 04/30/2013 11:07 AM, Ruben Smits wrote:
>
>> Am I missing something more??
>>
> Yes. These libraries are never seen by ruby, only by typelib. And typelib
> only tries to load .so files ...
>

Grrr ;), I'll send a patch, it seems to work now, or at least, I can
continue debugging ;)

> See typelib/pluginmanager.cc:68
>
>
Thanks for saving my day,

Ruben

> Sylvain
>