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