Hi,
It looks like you are missing a symbol definition...you can demangle the c++ names with c++filt, in your case this gives

$ echo _ZTV14ParticleFilter | c++filt 
vtable for ParticleFilter


Are you using inheritance in a strange way? perhaps missing some "virtual" declarations somewhere?


Also to get this result in a simpler fashion than ldpreload you could run "ldd -r mylibrary.so" which will print out any missing libraries or symbols

Hope that helps,
Toby





On 25 February 2013 14:36, JanStevens <janstevens007@gmail.com> wrote:
Dear mailing subscribers,

I'm building my own driver and found some problems. I've added a simple
configuration file that loads my driver (after it is build I copy past it to
the same location as the configuration file).

But when I execute player with my configuration it complains that It cant
find the plugin (even if its in the same folder I tripple checked). After
some google searches I also tryed LD_PRELOAD option but that gives me the
following error:

LD_PRELOAD=libamcl-map.so player 6-amcl-map.cfg
player: symbol lookup error:libamcl-map.so: undefined symbol:
_ZTV14ParticleFilter

So any solutions? I kinda just started with my driver so not really much
code in it at the moment. I have two classes a main class and a
particlefilter class (seems the undefined symbol comes from this). In my
main class I define a ParticleFilter object like so:

 ParticleFilter *_pf;

My CMakeLists.txt file looks like this:

# If Player isn't installed to /usr, you'll have to edit this path to point
# to the location of UserPlayerC++.cmake and UsePlayerPlugin.cmake
set(CMAKE_MODULE_PATH "/usr/local/share/cmake/Modules")

# These files include macros that make building against Player easier.  They
provide
# the PLAYER_ADD* macros
include(UsePlayerC++)
include(UsePlayerPlugin)

# This command adds an example PlayerC++ client called 'exampleclient',
using
# the 'exampleclient.cc' source file.
#player_add_playercpp_client(lms100test SOURCES main.cpp)

# If you also want to include a Player plugin driver, use these directions:
# This command adds an example plugin driver which will be called
'libexampledriver.so'
# which uses the source file 'exampleplugin.cc'
player_add_plugin_driver(amclmap SOURCES amcl_map.cpp amcl_pf.cpp)

TARGET_LINK_LIBRARIES(amclmap ${Boost_LIBRARIES} -lpthread)

Thanks!



-----
My Blog: http://www.fritz-hut.com
--
View this message in context: http://player-stage-gazebo.10965.n7.nabble.com/Plugin-Driver-Unable-to-load-plugin-tp18596.html
Sent from the playerstage-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Playerstage-users mailing list
Playerstage-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/playerstage-users