Operating System - Linux
1748198 Members
2622 Online
108759 Solutions
New Discussion юеВ

Re: HPUX-pa libCsup.2 problem

 
Fei Shen
Occasional Advisor

HPUX-pa libCsup.2 problem

Hi,
I HPUX-pa software developer with NCR. Currently we are having an issue with unresolved symbol in our 64bit library during run time. The unresolved symbol is __ShlTerm. The truss ouput shows that
/usr/lib/pa20_64/libCsup.2 is opened and mapped, and nm shows that __shlTerm is defined there.
Then these facts are true, what could be other factors causing __shlTerm not resolved?

Thanks.

fs185009@ncr.com
11 REPLIES 11
Dennis Handly
Acclaimed Contributor

Re: HP-UX PA libCsup.2 problem

__shlTerm (not __ShlTerm) is exported from libCsup.2 so you should not be getting this unsat, provided you include libCsup.2 on your link line. Were there any other errors?

Fei Shen
Occasional Advisor

Re: HPUX-pa libCsup.2 problem

the library built by aC++, there is no need to supply -lCsup. The same library works on other sysetem correctly resolving the symbol.
Dennis Handly
Acclaimed Contributor

Re: HP-UX PA libCsup.2 problem

>the library built by aC++, there is no need to supply -lCsup.

This is only correct if you have a aC++ executable.

Fei Shen
Occasional Advisor

Re: HPUX-pa libCsup.2 problem

the linking was ok, because library did get built. The problematic system also has a libCsup.2 in /usr/lib/pa20_64, which has __shlTerm defined. Truss shows that libCsup.2 was mmap'ed. But our library complained that __shlTerm not resolved.
Dennis Handly
Acclaimed Contributor

Re: HP-UX PA libCsup.2 problem

>the linking was ok, because library did get built.

Since you don't usually get unsat errors when building shlibs, this is meaningless.

Can you explain when you are getting the error? At load or runtime? The latter means shl_load or dlopen.
And what do the errors look like? And what linker patch do you have?

Fei Shen
Occasional Advisor

Re: HPUX-pa libCsup.2 problem

when dlopen library A which uses the __shlTerm, dlopen failed

dlopen failed: Unsatisfied data symbol '__shlTerm' in load module A
Dennis Handly
Acclaimed Contributor

Re: HP-UX PA libCsup.2 problem

>when dlopen library A which uses the __shlTerm, dlopen failed

Now you need to answer the question implied by:    This is only correct if you have a aC++ executable.

And what are your dlopen parms?

If this is a C executable, you need to follow the directions on:
http://www.docs.hp.com/en/7762/5991-4874/distributing.htm#linking

Fei Shen
Occasional Advisor

Re: HPUX-pa libCsup.2 problem

Thanks.

Did you mean if there is aC++ executables on the system that builds the library or the runtime system?

The build system does have aCC executables and we use aCC to do the linking.

For the runtime system, I dont know if there is a aCC or aC++.

Dennis Handly
Acclaimed Contributor

Re: HP-UX PA libCsup.2 problem

>Did you mean if there is aC++ executables

No. I meant what type of application is doing the dlopen. Is it C or aC++?
(Also, what linker patch do you have installed?)