← Back to team overview

yade-dev team mailing list archive

Re: How to use a plugin

 

Hmm, my errors are getting weirder and weirder:

35    FATAL yade.Omega /home/chiab/yadeNew/Branch6/core/Omega.cpp:226 loadPlugins: /home/chiab/yadeNew/YADEb6/lib/yade-b6/extra/libCWBoonPlugin3.so: undefined symbol `typeinfo for InteractionGeometryFunctor'
36    FATAL yade.Omega /home/chiab/yadeNew/Branch6/core/Omega.cpp:226 loadPlugins: /home/chiab/yadeNew/YADEb6/lib/yade-b6/extra/libCWBoonPlugin3.so: /home/chiab/yadeNew/YADEb6/lib/yade-b6/extra/libCWBoonPlugin3.so: undefined symbol: _ZTI26InteractionGeometryFunctor
36    FATAL yade.Omega /home/chiab/yadeNew/Branch6/core/Omega.cpp:226 loadPlugins: Bailing out.

Do you know what's happening?


Yours,

Boon

----------------------------------------
> From: eudoxos@xxxxxxxx
> To: yade-dev@xxxxxxxxxxxxxxxxxxx
> Date: Thu, 8 Apr 2010 12:04:12 +0200
> Subject: Re: [Yade-dev] How to use a plugin
>
>
>> Thanks Vaclav. Yes, I have included Scene and Omega in the header. After some trial and error, this works:
>> Scene* scene = Omega::instance().getScene().get();
>> Is it different from the previous: shared_ptr scene = Omega()::instance().getScene() ?
> AHH! Omega() doesn't work. isntance is static method, so you have no
> parentheses: Omega::instance() rather than Omega()::instance.
>
>> Another weird error I got is this, although I've included the path in LIBPATH and CPPPATH:
>> 13 FATAL yade.Omega /home/chiab/yadeNew/Branch6/core/Omega.cpp:229 loadPlugins: /home/chiab/yadeNew/YADEb6/lib/yade-b6/extra/libCWBoonPlugin3.so: libnagc_nag.so: cannot open shared object file: No such file or directory
>>
>> I did a check:
>> chiab@engs-018383:/usr/local/NAG/cll6a09dhl/lib$ ls -l libnagc_nag.so
>> lrwxrwxrwx 1 root root 19 2010-04-07 11:10 libnagc_nag.so -> ./libnagc_nag.so.09
>
> man ld; man ld.so (look for "rpath")
>
> Try
> "ldd /home/chiab/yadeNew/YADEb6/lib/yade-b6/extra/libCWBoonPlugin3.so"
> as well. (man ldd if in doubt what it does)
>
> LIBPATH only makes _linker_ find the library at link-time, but it has
> nothing to do with _run-time_ seach path. You can add
> RPATH=env['RPATH']+['.'] to plugin compilation options (to make it look
> for its libs in the directory of the plugin itself ('.'), or you can
> (should) install the lib in standard paths, such as /usr/local/lib. Or,
> you can specify dir with the lib in LD_LIBRARY_PATH (man ld.so, which is
> the program finding libraries at run-time, when you run the program or
> load the plugin)
>
>
> HTH, Vaclav
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev
> Post to : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev
> More help : https://help.launchpad.net/ListHelp
 		 	   		  
_________________________________________________________________
Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
https://signup.live.com/signup.aspx?id=60969


Follow ups

References