Use of undeclared identifier 'fpgetmask'

bob prohaska fbsd at www.zefox.net
Sun Jan 21 17:58:44 UTC 2018


On Sun, Jan 21, 2018 at 09:35:53AM -0800, Steve Kargl wrote:
> On Sun, Jan 21, 2018 at 08:01:30AM -0800, bob prohaska wrote:
> > On Sat, Jan 20, 2018 at 03:04:21PM -0800, Steve Kargl wrote:
> > > On Sat, Jan 20, 2018 at 02:26:38PM -0800, bob prohaska wrote:
> > > > 
> > > > use of undeclared identifier 'fpgetmask'
> > > > 
> > > > 
> > > > 
> > > 
> > > man fpsetmask
> > > 
> > > Add "#include <ieeefp.h>" to your code.
> > > 
> > 
> > Sorry, I chopped off the preamble 8-(
> > 
> > This is in reference to /usr/ports/graphics/inkscape. 
> > 
> > Inkscape has lots of dependencies, so knowing where to make a
> > change is difficult. With luck it'll be a config option.
> > 
> > I've put the make log at
> > http://www.zefox.net/~fbsd/rpi2/inkscape/
> > 
> > Thanks for reading, and any ideas!
> > 
> 
> It looks like that you'll need to read main.cpp to see if ieeefp.h
> is properly included in the file.  Are there any #ifdef HAVE_IEEE
> #endif blocks preventing ieeefp.h from being found.  
> 

Main.cpp contains a test:

#ifdef HAVE_IEEEFP_H
#include <ieeefp.h>
#endif

and, in /usr/ports/graphics/inkscape/work/inkscape-0.92.2/include/config.h is
found

/* Define to 1 if you have the <ieeefp.h> header file. */
#define HAVE_IEEEFP_H 1

so it looks as if the test is satisfied.

A brute-force search of the filesystem discloses several copies of ieeefh.h:
/tmp/mountpoint.Jw2teE/www/firefox-esr/work/firefox-52.5.2esr/obj-armv7-unknown-freebsd12.0/config/system_wrappers/ieeefp.h
/usr/include/machine/ieeefp.h
/usr/include/ieeefp.h
/usr/obj/usr/src/arm.armv7/tmp/usr/include/machine/ieeefp.h
/usr/obj/usr/src/arm.armv7/tmp/usr/include/ieeefp.h
/usr/obj/arm.armv7/usr/src/tmp/usr/include/machine/ieeefp.h
/usr/obj/arm.armv7/usr/src/tmp/usr/include/ieeefp.h
/usr/src/sys/arm/include/ieeefp.h
/usr/src/sys/amd64/include/ieeefp.h
/usr/src/sys/arm64/include/ieeefp.h
/usr/src/sys/mips/include/ieeefp.h
/usr/src/sys/i386/include/ieeefp.h
/usr/src/sys/powerpc/include/ieeefp.h
/usr/src/sys/sparc64/include/ieeefp.h
/usr/src/sys/riscv/include/ieeefp.h
/usr/src/include/ieeefp.h
^C

It's clear the file is present. All the other include files seem to be 
found, so it's not an obvious search path defect.

Thanks for reading, and any further thoughts!

bob prohaska



More information about the freebsd-ports mailing list