Operating System - HP-UX
1752762 Members
4787 Online
108789 Solutions
New Discussion юеВ

Unable to load "libu2comp.so"

 
MissX
Advisor

Unable to load "libu2comp.so"

Hello, I would like to compile one of my program, however it generate the error such as:

ld: Unable to load shared library "/opt/langtools/lib/hpux64/libu2comp.so"
Fatal error.
collect2: ld returned 1 exit status

It seems that my HP-UX 11v3 Itanium server does not have the Auxiliary-Opt.LANG-AUX installed in it which consist of the libu2comp.so (I use find / -name libu2comp.so -print to locate whether I have the library).  But I manage to find the libu2comp.so in my other application disc. I'm sorry if my question sound weird since I'm still new in installing stuff in HP-UX server. My question is:

1) How am I suppose to install the Auxiliary-Opt.LANG-AUX onto my server?

2) Is it possible to just drag and drop the required library from the disc onto the HP-UX for me to compile the program successfully (since I didn't found any depot file for it)? 

Thank you.

9 REPLIES 9
Matti_Kurkela
Honored Contributor

Re: Unable to load "libu2comp.so"

1.) Auxiliary-Opt.LANG-AUX is part of the HP-UX aC++ compiler package, which is optional and not free: if you have a license to use it, you could install the compiler from a .depot file downloadable from HP (license required) or from your HP-UX application DVD media, using the swinstall command.

(On the HP-UX installation and application DVDs, the depots are stored in a different format: not as single .depot files, but as "directory depots".)

If your system is supposed to have the aC++ compiler installed, your installation may have become damaged; consider using the swverify command to determine the extent of damage, then restoring from backups or reinstalling the compiler (and its patches) using swinstall.

Apparently libu2comp.so is a library related to /opt/langtools/lbin/u2comp, which seems to be the optimized code generator for the compiler, so...

2.) ...technically you could copy the library, but a code generator library might have other dependencies, so just copying that one library file would probably not be enough to allow the code generator to actually work.

MK
MissX
Advisor

Re: Unable to load "libu2comp.so"

Hello and thank you for the reply Matti.

Now, may I ask what and which version of compiler of HP-UX 11iv3 Itanium that support compilation such as "-Ae" and "+02"? Because it seems that my current compiler does not support it:

(Bundled) cc: warning 922: "-Ae" is unsupported in the bundled compiler, ignored.

(Bundled) cc: warning 922: "+02" is unsuppoerted in the bundled compiler, ignored.

 Besides, I would to know whether my assumption are correct regarding this matter:

1) The HP-UX 11iv3 with OS such as Base OE, High Availaibility OE and Data Center OE, all come with a basic compiler(But not a complete version which support compilation such as "-Ae" and "+02") right?

2) I will need to buy or download the complete version of HP-UX compiler (not the basic one) separately?

Thank you. 

Matti_Kurkela
Honored Contributor

Re: Unable to load "libu2comp.so"

On this system, you seem to have only the basic compiler, also known as "the bundled compiler".

The full-featured compiler is in "HP C/aC++ Developer's Bundle". It includes:

  • HP C/ANSI C compiler
  • HP aC++ compiler
  • HP-UX Developer's Toolkit
  • HP WDB debugger
  • HP Caliper performance analyzer
  • HP Code Advisor (cadvise) analysis tool

And to your numbered assumptions:

1.) Yes, you are correct. The basic compiler is intended to be little more than a tool for reconfiguring the HP-UX kernel, although it can be used for compiling some minor utilities (e.g. the lsof command) if absolutely necessary. But it excludes a lot of features.

2.) Yes, you are correct.

I think there is a version of gcc available for free; however, the non-free compiler can provide better optimization and is the "true" compiler for HP-UX. For example, your source code seems to be using options that are typical to the non-free compiler, so it is very probably written for it specifically.

I think the HP-UX gcc used to be available from HP webpages, but since the transformation into HPe, all my old links are stale...

MK
MissX
Advisor

Re: Unable to load "libu2comp.so"

Thanks for the information Matti. I really appreciate it.

Dennis Handly
Acclaimed Contributor

Re: Unable to load "libu2comp.so"

> ld: Unable to load shared library "/opt/langtools/lib/hpux64/libu2comp.so"
> collect2: ld returned 1 exit status

 

Hmm, this implies you're using gcc AND you have some bogus object files.

I doubt the latter are compilled with PBO or have +O4.

There was a problem long ago, where PA-RISC objects were mistakenly thought by ld(1) to have this optimization.

What does "file *.o" show for those objects and archives?

MissX
Advisor

Re: Unable to load "libu2comp.so"

 Hi Dennis,

May I know which object file do you mean by the question below? 

>> What does "file *.o" show for those objects and archives?

By the way, may I know the latest available version of the HP-UX 11iV3 Itanium C compiler (the full version C compiler)? Is there any link for me to view the details?

Thanks for the advance reply.

Dennis Handly
Acclaimed Contributor

Re: Unable to load "libu2comp.so"

> May I know which object file do you mean by the question below? 

 

All the ones on the link line.  Or all the ones in all your directories.

Exporting the following will list all of the files to ld(1):

export LDOPTS="+vtype files"

 

> Is there any link for me to view the details?

 

As far as I can tell, it's no longer for sale on Software Depot, you need to talk to your HPE sale rep.

https://h20392.www2.hpe.com/portal/swdepot/index.do.

The latest version I have is A.06.28.

MissX
Advisor

Re: Unable to load "libu2comp.so"

Hello,

>>All the ones on the link line.  Or all the ones in all your directories.

>>Exporting the following will list all of the files to ld(1):

>>export LDOPTS="+vtype files"

Do you mean this?

# LDOPTS="-V -T"

# export LDOPTS

# gcc Makefile

/usr/ccs/bin/ld -v -t -z +Accept TypeMismatch -u main /usr/lib/hpux32/unix98..o -L/usr/local/lib/gcc/ia64-hp-hpux11.31/4.2.3 -L/usr/ccs/lib -L/usr/local/lib/gcc/ia64-hp-hpux11.31/4.2.3/../../.. Makefile -lgcc --lc -lgcc

LPATH is:

Loading /usr/lib/hpux32/unix98.o:

/usr/lib/hpux32/unix98.o:

      _xpg4_extended_mask is DEFINED GLOBAL OBJECT

/usr/lib/hpux32/unix98.o:

      section .sdata PROGBITS AWS 4 8 added to data segment

      section .debug_line PROGBITS 26 8 added to nonsegment segment

     section .debug_actual PROGBITS 24 8 added to nonsegment segment

      section .note NOTE 848 4 added to note segment

ld: Unable to load shared library "/opt/langtools/lib/hpux64/libu2comp.so"

Fatal error.

collect2: ld returned 1 exit status

>>As far as I can tell, it's no longer for sale on Software Depot, you need to talk to your HPE sale rep.

I did checkout for the HP-UX compiler before at the link that you give. However, I'm unable to see the version and details of the compiler.

Thanks for the advance reply.

Dennis Handly
Acclaimed Contributor

Re: Unable to load "libu2comp.so"

> Do you mean this?

 

No, I meant what I said.

 

> # gcc Makefile

 

Why are you trying to compile a Makefile?

 

> -L/usr/ccs/lib

 

This shouldn't be there.  No IA64 libs there.

 

>I'm unable to see the version and details of the compiler.

 

Yes, it should be there but it's not.  So my conclusion is it isn't sold on the web anymore.