There are some UNIX systems that have their own _ABS() define in the system header files, so the redefinition of _ABS() in popt.c can cause problems. I changed the define to be POPT_ABS(). Also, some systems don't seem to have DBL_EPSILON, so I define that if it is missing. See attached patch. ..wayne..