From: Kanngieser, T. <Tho...@fc...> - 2004-09-28 10:52:46
|
Hello Andy, a simple way how to find unresoved symbols is to create a static plugin: ./configure --enable-ipmidirect=static And have a look which symbol is not resolved. The ipmidirect plugin is written in c++, but uses several c function. In the past I had some problems in using c function in c++. The prototypes of a c function must be encapsulated in extern "C" { prototypes } If not the c++ compiler uses a c function as of a c++ function. This results in unresoved symbols. Thomas > -----Original Message----- > From: Sean Dague [mailto:se...@da...] > Sent: Montag, 27. September 2004 23:09 > To: ope...@li... > Subject: [Openhpi-devel] Re: ipmidirect dlopen problem (v1.0.0) > > > On Mon, Sep 27, 2004 at 03:51:08PM -0400, Cress, Andrew R wrote: > > Thomas, > > > > I've been wrestling with a very strange problem. > > If I install the openhpi-1.0.0 rpm, I can load libipmi or > libipmidirect > > plugins (from /usr/lib/openhpi/), and I was testing each. > I found some > > things I wanted to change. I built the libs from the openhpi-1.0.0 > > source, and did make install (to /usr/local/lib), then copied the > > libipmidirect* files into /usr/lib/openhpi/, and now the client apps > > won't load it. > > The config file hasn't changed, just the libraries. > > > > Here's the debug. Any ideas why dlopen says the file isn't there? > > > > An strace actually shows a successful open of the > libipmidirect.so.0. > > It's almost as if the lib built from 1.0.0 source isn't > recognized as > > libraries (?). > > BTW, I did the same procedure with libipmi, and it opened > ok, this just > > seems to happen with libipmidirect. > > > > Andy > > > > [root@test tmp]# ls /usr/lib/openhpi/libipmi* > > /usr/lib/openhpi/libipmi.a > > /usr/lib/openhpi/libipmidirect.so.0.1.1 > > /usr/lib/openhpi/libipmidirect.a /usr/lib/openhpi/libipmi.la > > /usr/lib/openhpi/libipmidirect.la /usr/lib/openhpi/libipmi.so > > /usr/lib/openhpi/libipmidirect.so /usr/lib/openhpi/libipmi.so.0 > > /usr/lib/openhpi/libipmidirect.so.0 > /usr/lib/openhpi/libipmi.so.0.0.0 > > [root@test tmp]# export OPENHPI_DEBUG=YES > > [root@test tmp]# hpifru > > hpifru ver 1.1 > > config.c:530:oh_load_config: Done processing conf file. > > Number of parse errors:0 > > plugin.c:109:load_plugin: Can not open libipmidirect > plugin: file not > > found > > safhpi.c:189:saHpiInitialize: Couldn't load plugin libipmidirect > > safhpi.c:206:saHpiInitialize: load handler for unknown plugin > > libipmidirect > > safhpi.c:215:saHpiInitialize: no handler found. please check > > /etc/openhpi/openhpi.conf! > > These set of errors is usually indicative of a dynamically > loaded object > that has an unresolved symbol. Steve Sherman has had to > track a couple of > these down in the past, you might want to ping him on IRC for > debugging tips > on finding what symbol is the problem. > > -Sean > > -- > __________________________________________________________________ > > Sean Dague Mid-Hudson Valley > sean at dague dot net Linux Users Group > http://dague.net http://mhvlug.org > > There is no silver bullet. Plus, werewolves make better neighbors > than zombies, and they tend to keep the vampire population down. > __________________________________________________________________ > |