Informix DB-Access Library fails to build on HP/aCC platforms.

Article ID: 799
Last updated: 31 Jan, 2008
Article ID: 799
Last updated: 31 Jan, 2008
Revision: 1
Views: 3424
Posted: 28 Feb, 2000
by Dean J.
Updated: 31 Jan, 2008
by Dean J.
Problem


 When I try to compile Rogue Wave's Informix Access Library
version 3.2x on my HP-UX 10.20 machine using a
supported aCC compiler (1.15, 1.18, or 1.21),
I get the following build error during the linking phase:
/usr/ccs/bin/ld: (Warning) At least one PA 2.0 object file (infesql.o) was detected.

The linked output may not run on a PA 1.x system.
/usr/ccs/bin/ld: DP relative code in file /usr/lib/pa1.1/libm.a(c_ieee.o) -
shared library must be position independent. Use +z or +Z to recompile.
*** Error exit code 1



Cause


 There seem to be two possible reasons why the Informix 
Access Library fails to build.
1. The inclusion of checkapi.o is happening twice from the makefile.
2. The linking in of HP's math library causes a conflict.



Action


 For supported Informix CLI's, i.e. Informix (Client: ESQL/C 9.1.x, SDK 2.10)
or Informix (Client: ESQL/C 9.2.x, SDK 2.x), etc.

Try the following:

1) Make sure the path to your call level interface for your Informix Client
is set in your path environment variable.
This path is typically /opt/informix/bin.
Your path may vary, so double check this on your system or
with your SysAdmin or DBAdmin.

2) Check to see that /usr/informix/lib/esql/checkapi.o is
not getting linked twice in the makefile.
If so, then remove one of them.
You also need to check the makefile for the inclusion of the +z or + Z flag.
After reviewing the man page for aCC, it looks like +Z does more:+z,+Z
Cause the compiler to generate position independent code (PIC) for
use in building shared libraries.
The option -G is ignored if used when generating PIC.
Normally, +z should be used to generate PIC; however,
when certain limits are exceeded, +Z is required to
generate PIC. The linker ld(1) issues the error indicating when +Z is required.
If both +z and +Z are specified, only the last one encountered applies.
For a more complete discussion regarding PIC and these options,
see HP-UX Linker and Libraries Online User's Guide and the manual Programming on HP-UX.

3) Try removing the -lm option from the link line (linking with libm.sl)
to see if at least the shared libs build OK.
For some unknown reason, HP's math library causes a conflict with the Rogue Wave
Informix Access Library build.
This article was:   Helpful | Not helpful
Report an issue
Article ID: 799
Last updated: 31 Jan, 2008
Revision: 1
Views: 3424
Posted: 28 Feb, 2000 by Dean J.
Updated: 31 Jan, 2008 by Dean J.

Others in this category