Operating System - HP-UX
1752815 Members
6023 Online
108789 Solutions
New Discussion юеВ

Linker Errors (Unsat symbols )

 
Vinay_4
New Member

Linker Errors (Unsat symbols )

Hi,
I am getting the following error while linking. Does any one know under what circumstances this error could occur ?
I am using aCC 1.23 on Hpux 10.20
Is it a known problem ? could a compiler patch solve this ?
Link result:

/usr/ccs/bin/ld: Unsatisfied symbols:

Class tables [Vftptr] dependent on key function:
"QLExContext::~QLExContext()" (data)
QLInOutFile::QLInOutFile(const char *,QLFileMode,QLExContext *)%1 (code)
typeid (data)

*** Error exit code 1
3 REPLIES 3
Samuel Bouhnik
Advisor

Re: Linker Errors (Unsat symbols )

Hi,

Try the following command on all your libraries shared and archive to find on which library this symbol is defined : /opt/aCC/bin/nm++ -rop | grep "QLExContext::~QLExContext()" and add the found library to your link command.

Regards,

Samuel
Kiran N. Mehta
Advisor

Re: Linker Errors (Unsat symbols )

Here's what you might check out if what Samuel has suggested doesn't help:

You could first check if the version of your /usr/lib/libCsup.[sl|a] has fallen out of step with (a potential upgrade of) your compiler:
ksh$ what `whence aCC`
ksh$ what /usr/lib/libCsup.sl
If I am not mistaken, "small" differences in the versions of the compiler vis-a-vis the Language Support Library are okay, but they shouldn't be too far apart.

Failing that, I'd check if your class defines a virtual destructor inside the class definition; if yes, try moving it outside the class body using the "::" operator

Good luck.
Vinay_4
New Member

Re: Linker Errors (Unsat symbols )

Samuel,
I tried the nm++ command with all the archives in the lib directory of the third party libs which I am linking to.
The output showed multiple records like this one (with lib name diffreent for some records) What does "U" mean ?

libetkrvcst.a:000000000000 U QLExContext::~QLExContext()
libetkrvcst.a:000000000000 U Class tables [Vftptr] dependent on key function: "
QLExContext::~QLExContext()"