Re: Cannot load library *.so undefined symbol error
Devchandra L Meetei <[email protected]> Fri, 11 Apr 2014 23:09:26 +0530
| Newsgroups | gmane.network.open-pegasus.general |
|---|---|
| Message-ID | <CAKmFMKcaSj9t1dK32t9t05+tGhbZQ+Fa0xL5vhrm8QU2GDA6aA@mail.gmail.com> |
Would like to add to Karl's list of questions. 5) the Registration mof for the provider. At the same time, it seems that the provider code has typo *_ZTV26CIMSoftwareIdentityBuldier,* *May be Subhra can check the code if it is really *Buidier or Builder. * On Fri, Apr 11, 2014 at 9:02 PM, Johnny Hwang <[email protected]> wrote: > 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(tm) 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 > > > -- Warm Regards --Dev OpenPegasus Developer "I'm one of those people that think Thomas Edison and the light bulb changed the world more than Karl Marx ever did," Steve Jobs