Operating System - HP-UX
1751904 Members
5550 Online
108783 Solutions
New Discussion юеВ

Conpilation errors on HP-UX 11.31 IA64

 
Venkatesh Babu
New Member

Conpilation errors on HP-UX 11.31 IA64

Code works fine on PARISC and I am trying to migrate it onto Itanium. However, I am getting error for below statement:

cc -Aa -g -I/opt/oracleclient/111060/precomp/public main.o cmdline.o trim.o ignore.o diagnose.o error.o overflow.o uppercase.o GetType.o LookupType.o ReadTable.o DumpMap.o Cleanup.o GetPath.o Elapsed.o DBConnect.o ReadIMap.o DBError.o DBRelease.o ReadData.o ReadRow.o ReadString.o ReadNumber.o ReadDate.o UpdateRow.o ConvertString.o ConvertNumber.o ConvertDate.o WriteLine.o AuditFile.o ChkType.o ConvertSplDate.o -lm -lc -lrt /opt/oracleclient/111060/lib32/libclntsh.so /test/common/lib/libpswdIA64.so -ldl -lm -lpthread -lnsl -lunwind

I get below error:
ld: Mismatched Data ABI. Expected None but found EF_IA_64_ABI64 in file /test/common/lib/libpswdIA64.so

I got similar error when libpswd.sl was used, this was because of mixing 32 and 64 bit code and hence I changed it to link to Itanium equivalent libpswdIA64.so. But now, I am getting above error.

Not sure how to resovle. Thanks in advance for the help.
2 REPLIES 2
Venkatesh Babu
New Member

Re: Conpilation errors on HP-UX 11.31 IA64

I got the error fixed by using +DD64 compiler option.

However, I am getting "Mismatched ABI for -lc, found /usr/lib/hpux64/libc.so" error. I have deleted -lc from the makefile. Then too I am getting this error.

Can someone plz help me on this?
Dennis Handly
Acclaimed Contributor

Re: Conpilation errors on HP-UX 11.31 IA64

All of your files must either be compiled with +DD32 (the default) or +DD64. And that includes your shlibs.

It seems that /test/common/lib/libpswdIA64.so was compiled with +DD64.

>Integrity equivalent libpswdIA64.so

You need to find a 32 bit equivalent of that shlib.

>I have deleted -lc from the makefile. Then too I am getting this error.

You can't delete libc, the driver will add it.

You need to make sure you are compiling and linking consistently with +DD64 or +DD32 (the default).