Operating System - Linux
1753797 Members
7831 Online
108799 Solutions
New Discussion юеВ

ld: (Warning) Unsatisfied symbol

 
SOLVED
Go to solution
yazgoo
Frequent Advisor

ld: (Warning) Unsatisfied symbol

I'm upgrading VisiBroker from v5 to 6.5.
I installed v6.5.
Whan I compile via aCC I got a ton of this kind of warniings :

code_____________________________________________________________

ld: (Warning) Unsatisfied symbol "VISDLogProperty::set_source_enable(bool)" in file /opt/BES/lib/liborb64_r.sl
тМК_______________________________________________________________тМЛ

At runtime The following message occurs before an executable doesn't launch :

code_____________________________________________________________

/usr/lib/pa20_64/dld.sl: Unsatisfied data symbol '_log_enabled__13VISDLoggerMgr' in load module '/opt/BES/lib/liborb64_r.sl'.
/usr/lib/pa20_64/dld.sl: Unsatisfied data symbol 'PROD_ID_BES__16LicenseConstants' in load module '/opt/BES/lib/liborb64_r.sl'.
/usr/lib/pa20_64/dld.sl: Unsatisfied data symbol 'FEATURE_VBC_ORB_SERVER__16LicenseConstants' in load module '/opt/BES/lib/liborb64_r.sl'.
/usr/lib/pa20_64/dld.sl: Unsatisfied data symbol 'typeid__XT15LicenseListener_' in load module '/opt/BES/lib/liborb64_r.sl'.

тМК_______________________________________________________________тМЛ

Do you have an idea about what these warnings/errors mean and what I should do.
Yazgoo
14 REPLIES 14
V. Nyga
Honored Contributor

Re: ld: (Warning) Unsatisfied symbol

Hi,

check the vendor's site for prerequestions for this tool.
Check your patch level, maybe you need the newest patches for 'ld and linker',
for 11i it's PHSS_35383:
http://www8.itrc.hp.com/service/patch/patchDetail.do?patchid=PHSS_35383&sel={hpux:11.11,}&BC=main|search|

Also maybe LIBCL, libc cumulative, aCC patches.

Do a search in:
http://www8.itrc.hp.com/service/patch/search.do

HTH
Volkmar
*** Say 'Thanks' with Kudos ***
Dennis Handly
Acclaimed Contributor

Re: ld: (Warning) Unsatisfied symbol

What VisiBroker shlib should these data items be defined?

Is liborb64_r.sl your shlib?
If you use "chatr -B immediate" on your executable, you may get more unsats. This may be interesting to see.

Here are the demangled data unsats:
VISDLoggerMgr::_log_enabled
LicenseConstants::PROD_ID_BES
LicenseConstants::FEATURE_VBC_ORB_SERVER
typeid

>Volkmar: Check your patch level, maybe you need the newest patches for 'ld and linker',
Also maybe LIBCL, libc cumulative, aCC patches.

I'm not aware of anything that would cause unsats except for bad source or missing libs.
yazgoo
Frequent Advisor

Re: ld: (Warning) Unsatisfied symbol

Oops, sorry I didn't explain my problem well.
What I meant is : I installed v 6.5; no problem.
Then I compile a program which uses visibroker 6.5 (which worked under v5), which gives me these logs.

Thanks

^^
Yazgoo
Dennis Handly
Acclaimed Contributor

Re: ld: (Warning) Unsatisfied symbol

>sorry I didn't explain my problem well.

Your new info didn't provide any clues to your problem. Can you answer my questions?
yazgoo
Frequent Advisor

Re: ld: (Warning) Unsatisfied symbol

>Is liborb64_r.sl your shlib?
Yes, it is.
>use "chatr -B immediate"
That doesn't change anything the bin outputs
>Here are the demangled data unsat [...]
What should I do about those ?
>Check your patch level
# uname -a
HP-UX machine B.11.23 U 9000/800 822849691 unlimited-user license
# aCC -V
aCC: HP ANSI C++ B3910B A.03.65
# swlist -l product|grep linker
linker + fdp cumulative patch
PHSS_30716 1.0
# swlist -l product|grep libc
libcps and libomp [ia64/IA32: Release 6.1.2]

Could you also explain what does this error means (I didn't understand).
Does it means the symbol exists in the shlib but not in something like an interface??

Thanks
Yazgoo
Dennis Handly
Acclaimed Contributor

Re: ld: (Warning) Unsatisfied symbol

>Yes, it is.

Then why are you using those (possibly obsolete) data symbols?

Were there only 5 unsat symbols or did you only list 5?

>That doesn't change anything the bin outputs

Ok, you don't have any more missing symbols.
But I would expect you to get an error on
VISDLogProperty::set_source_enable(bool) ??

>What should I do about those?

Those are the C++ data symbols that are missing. Where are you using these? Perhaps VisiBroker 6.5 no longer defines these classes and/or symbols.

>Could you also explain what does this error means. Does it means the symbol exists in the shlib but not in something like an interface??

It means that you are referencing symbols from your liborb64_r.sl, that are not defined in the VisiBroker shlibs.

Either they were removed in 6.5, or there could be more shlibs and you are not adding them to your link line.

If you could find the definitions of these symbols in 5, and then look at the same shlib for 6.5, perhaps you could get a clue.
yazgoo
Frequent Advisor

Re: ld: (Warning) Unsatisfied symbol

1├В┬░) I grepped those symbols in my source files:

> VISDLoggerMgr
> _log_enabled
> LicenseConstants
> PROD_ID_BES
> LicenseConstants
> FEATURE_VBC_ORB_SERVER
> LicenseListener

And I've found nothing

For
> typeid
I've found it in a binary which overflows my command line

2├В┬░) Those are the only error. But there was a lot of warnings at compile time

I'm really lost...
Thanks anyway
Yazgoo
yazgoo
Frequent Advisor

Re: ld: (Warning) Unsatisfied symbol

Okay.
I've just grepped in both my old and new liborb64_r.sl most of the symbols.
The conclusion seems to be that those symbols are in liborb64_r.sl.new but not liborb64_r.sl.old .

What should I conclude from it?
I guess that means that the dependence that says which are the symbol availables in liborb64_r.sl.new is an old one.
Maybe I should give the compiling options.
I'll try and find those,

Thanks.
Yazgoo
Dennis Handly
Acclaimed Contributor

Re: ld: (Warning) Unsatisfied symbol

>I grepped those symbols in my source files

Try grepping at the output of:
$ nm -pxAN .../liborb64_r.sl

>I've found it in a binary which overflows my >(command line

Again look at the output of nm(1).

>that those symbols are in liborb64_r.sl.new

As unsats? (U)

>What should I conclude from it?

You need to know whether they are definitions or unsats. You need to search the VisiBroker shlibs.