Title: | compile/link failure on HP-UX 11 with Eloquence DLL |
Document: | 1059765866 |
Author: | Michael Matxmeier |
Keywords: | dll,c,hpux |
Linking my Eloquence DLL a results in a linker error error
message on HP-UX 11
/usr/ccs/bin/ld: Unsatisfied symbols:
isinf (code)
Solution/Workaround
This is caused by an incompatibility in HP-UX 11.
The Eloquence A.06.3x library was build on HP-UX 10.20 and the
HP-UX 11 libm (math library) is incompatible to libraries which
were compiled on previous HP-UX versions.
The definition of isinf() has changed.
Below is a simple fix for HP-UX 11. Save it to the file libmfix.c
and add it to your makefile (so it is compiled and linked).
/*
libmfix.c
This file fixes an incompatibility with the Eloquence libeloq.a
library and the HP-UX 11.x libm library.
The libeloq.a libraray was compiled on HP-UX 10.20 and contains
a reference to the isinf() function. with HP-UX 11.x the isinf()
function is no longer defined in the libm library but was turned
into a macro.
*/
#if defined(__hpux)
#include <math.h>
#if defined(isinf)
#undef isinf
#ifdef __STDC__
int isinf(double n)
#else
int isinf(n)
double n;
#endif
{
return _ISINF(n);
}
#endif
#endif
|