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.
|How do I implement a select count (*) in DBTools.h++?||Integrating JWidgets into Symantec Visual Cafe version 2.0|