|| | |||Browse by category|
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
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.
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.
Article ID: 799
Last updated: 31 Jan, 2008
Posted: 28 Feb, 2000 by Dean J.
Updated: 31 Jan, 2008 by Dean J.
Others in this category
When trying to establish a connection to my database using DBTools.h++, I get the error: DB NOT FOUND
Why does JFactory flicker between the object manager and the integrated editor when I'm trying to edit the source?
When bulk reading a database column that allows NULL values, you must check for null in the receiving vector object.
Why won't the InfoBrowser contents update in response to selection changes in ClassView or FileView?