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