Re: Cannot load library *.so undefined symbol error

Johnny Hwang <[email protected]> Fri, 11 Apr 2014 15:32:08 +0000
Newsgroups gmane.network.open-pegasus.general
Message-ID <[email protected]>
Karl got most of the tips. You can also try setting LD_LIBRARY_PATH and see if that does any good.


Sent via the Samsung Galaxy S™ III, an AT&T 4G LTE smartphone



-------- Original message --------
From: Karl Schopmeyer <[email protected]>
Date:
To: shubhra garg <[email protected]>,Johnny Hwang <[email protected]>,[email protected],[email protected]
Subject: Re: Cannot load library *.so undefined symbol error


We need more information here.  It is clear that, however you are building, the resulting shared library has symbol problems and cannot
resolve those symbols when it is loaded by OpenPegasus.  The errors themselves are probably coming from the loader when it
tries to load the shared library as a provider. Pegasus is largely just interpreting information that is being returned by the loader.

Obviously, at least the symbol CIMSoftwareIdentityBuldier is expected to be linked as part of the load and it does not exist

By the way, did you mean to have Builder mispelled as buldier???

Some questions:
1. OS your are building on
2. Tools you use to build your provider.
3. Language you are writing provider in and interface uses (C++, CMPI, etc.).
4. Compiler used and the cmd line options with which you are compiling the library.

It is hard to dig to deep without looking further are your code and exactly what the environment is.

There should be no problems in this are with OpenPegasus so lets leave that out.  Loading providers has been

In general, I suggest that restart with very basic provider version that copies some other providercode that uses same tools compiler, etc. but does almost nothing, just loads.  It could even just return NOT_SUPPORTED for every function.  This will confirm that you
can get the basics to load and with your provider name, etc.

So rather than try to debug this code itself, recreate just the very basics of the provider and make  that successfully load.  No matter
which of the above options you use, there should be an example you could borrow and create the basics in a couple of hours.

Then go back to your provider and fix it up to match what does load but with the full set of provider app.

Karl

On4/11/2014 06:34 AM, shubhra garg wrote:
_SUPPORTEHi Johnny/Jim/Schopmeyer,

I need an urgent help.
Since, my mail are not reaching open pegasus community, so I am writing it to you.

I don't know how to debug and fix the issue. So, Kindly help.


I have written a cpp code.
When I am deploying that code after doing "make clean" and "make".
I am facing the below mentioned error:


Ran command: where A/b is a directory and root/das is a namespace.
=========================================================
 ./cimcli -s -n root/das -l 10.1.20.121 -u admin -p admin ei das_SoftwareIdentity
cimcli CIMException:  Cmd= ei Object= LHOS_SoftwareIdentity Code= 1
CIM_ERR_FAILED: PGS04201: Provider LHOS_SoftwareIdentity_Provider in file /A/B/data/debug/lib/libLHOSProviderLib.so cannot load library.  Error: /A/B/data/debug/lib/libLHOSProviderLib.so: undefined symbol: _ZTV26CIMSoftwareIdentityBuldier.

I did a little debugging and found the below:
==========================================

1 Step :
 objdump -T /A/B/data/debug/lib/libLHOSProviderLib.so | grep _ZTV26CIMSoftwareIdentityBuilder
0000000000000000      D  *UND*  0000000000000000              _ZTV26CIMSoftwareIdentityBuilder

2. Step: I ran the command ---->  ldd -r /A/B/data/debug/lib/libLHOSProviderLib.so


undefined symbol: _ZTV26CIMSoftwareIdentityBuilder      (/A/B/data/debu                                             g/lib/libDASProviderLib.so)
undefined symbol: _ZNK8LeftHand14CIMEnvironment9getCBLOpsEv     (/A/B/d                                             ata/debug/lib/libDASProviderLib.so)
undefined symbol: _ZN8LeftHand14CIMEnvironmentD1Ev      (/A/B/data/debu                                             g/lib/libDASProviderLib.so)
undefined symbol: _ZN8LeftHand14CIMEnvironmentC1Ev      (/A/B/data/debu                                             g/lib/libDASProviderLib.so)
undefined symbol: _ZNK8LeftHand14CIMEnvironment19createCIMCBLContextERKSsS2_   (                                             /A/B/data/debug/lib/libLHOSProviderLib.so)
undefined symbol: _ZN26CIMSoftwareIdentityBuilderC1EPN6cimple22Enum_Instances_Ha                                             ndlerINS0_21DAS_SoftwareIdentityEEER11ICIMContext      (/A/B/data/debu                                             g/lib/libDASProviderLib.so)


Thanks and Regards,
Shubhra