Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

HP Itanium issues + Mismatched ABI

Status
Not open for further replies.

jonesq

Technical User
Jun 30, 2003
14
US
Hi,
Currently I am having a problem linking on hp itanium operating system (HP-UX B.11.23 U ia64 ).

Basically I am trying to achieve the following. Our libraries and binaries are built on HP-UX B.11.00 U 9000/800 using compiler HP ANSI C++ B3910B A.03.31. This is our certification platform.

Now a customer has requested us to support our application on HP-UX B.11.23 U ia64.

Now when I try link in one of my libraries (for example - ltest) I get the following error:
ld: Mismatched ABI (not an ELF file) for -ltest .

Now when I try the chatr from the itanium machine on the library ltest - i get following error:
chatr(error): file lib/libtest.sl is not a valid ELF file.

When I try the chatr command from the hp 11.00 machine I get valid chatr results for the library.

Has anybody any ideas as to why my program won't link ? Is there anything obvious or do I need to provide any more information ? Has anybody tried this kind of procedure before ?

Cheers
Quincy J
 
Sorry,
Just one more thing here:
If I use the file command on the lib - the following is returned.
PA-RISC1.1 shared library -not stripped

If I use the file command on one of my C++ object files created on the 64 bit machine I get the follwing :
ELF-32 relocatable object file - IA64

Is there a flag I can use which will allow my C++ object file to be compatible with the library.

Any help much appreciated.
 
i was wrong about +DA1.1/+DA2.0.

the library you built was for the PA-RISC 1.1 architecture. PA1.1 binaries are not compatible with the binaries that you can produce with the compiler you have on the IA system.

so, if your customer asked you to provide your products on the IA platform, you should be building (both compiling and linking) your binaries for the IA architecture.

hpux 11.23 on ia64 provides a runtime environment to run PA1.1/PA2.0 binaries through an emulator (called "aries"). this will allow you to build on(for) a PA machine and still run on the IA system. however this will have significant performance drawbacks compared to the native binaries.
 
Thanks for your help. I actually just received the same response from a support technician at HP.
Cheers
QJ
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top