Operating System - Linux
1751943 Members
4876 Online
108783 Solutions
New Discussion юеВ

Re: Unsatisfied data symbol '_ZTI12XMLException

 
Steve_The_King
Frequent Advisor

Unsatisfied data symbol '_ZTI12XMLException

hi

I have a library test which uses xerces 2.0.1. When I try to load test through dlopen it gives me the error "Unsatisfied data symbol '_ZTI12XMLException"

Please help on this.

Platform is hpitan.
5 REPLIES 5
Dennis Handly
Acclaimed Contributor

Re: Unsatisfied data symbol '_ZTI12XMLException

You need to run the symbol through c++filt:
c++filt _ZTI12XMLException

It will probably tell you that you are missing the typeinfo symbol for the class XMLException.
This is typically dropped with the key function of that class.
If you look though all your shlibs and executable with the following, what do you see?
nm -pxAN *.so binaries | fgrep _ZTI12XMLException
Steve_The_King
Frequent Advisor

Re: Unsatisfied data symbol '_ZTI12XMLException

I get 0x0000000000000000 U :_ZTI12XMLException when I run

nm -pxAN *.so binaries | fgrep _ZTI12XMLException command.

Just to let you know that I used the same source code of xercesc while linking my library on hpitan for 32 bit platform.

And now I am using xercesc for hpitan 64-bit.
Is there anything specific to be done for hpitan64 bit to get around with the problem.
Dennis Handly
Acclaimed Contributor

Re: Unsatisfied data symbol '_ZTI12XMLException

>I get U :_ZTI12XMLException

This "U" is what produces the Unsat.

>I used the same source code of xercesc while linking my library on hpitan for 32 bit platform.

You may want to scan those binaries for 12XMLException to see if you can find the definition.

By "hpitan for 32 bit" you mean Integrity for 32 bit? If so, 64 and 32 bit should be the same and you should see the same definition and reference sites.

>Is there anything specific to be done for Integrity 64 bit to get around with the problem?

If it works for 32 bit, it should for 64 bit.

Steve_The_King
Frequent Advisor

Re: Unsatisfied data symbol '_ZTI12XMLException

I was able to solve the above problem by building all the object files of xerces and creating a static library. Earlier I was using xerces 2.6.0. To resolve this I tried building xerces-2.1.0 source and created an archive. Problem resolved :-)

But facing another issue which is

/usr/lib/hpux64/dld.so: Unsatisfied data symbol '_ZTVSt8numpunctIcE' in load module

/usr/lib/hpux64/dld.so: Unsatisfied data symbol '_ZTVNSt6locale5facetE' in load module



I am using -lnsl -ldld -lrt -lpthread -lCsup -lstream flags to create my.sl.

Is there anything wrong with flags.
Or is there anything I forgot to specify while building xerces.


Please help
Dennis Handly
Acclaimed Contributor

Re: Unsatisfied data symbol '_ZTI12XMLException

Unsatisfied data symbol _ZTVSt8numpunctIcE
Unsatisfied data symbol _ZTVNSt6locale5facetE

If you demangle these, you'll see std::...
This means -AA.

>I am using -lnsl -ldld -lrt -lpthread -lCsup -lstream flags to create my.sl.
>Is there anything wrong with flags?

Naturally. You didn't follow the plugin documentation:
http://docs.hp.com/en/10946/distributing.htm#linking

You have the wrong libs and in the wrong order:
-lnsl -ldld -lrt -lstd_v2 -lCsup
Also, remove libpthread, it belongs on the executable and especially not on sllibs that are dynamically loaded.