Re: [Nagios-devel] Bug: cfg_dir doesn't work on solaris..?
Posted: Tue Jan 22, 2008 10:16 am
On Tue, 22 Jan 2008, Brian A. Seklecki wrote:
> It doesn't work in FreeBSD either -- don't get your hopes up. We
> reported it over a month ago to no avail. W/O a tracker you're just
> pissing in the wind.
That's rather odd; FreeBSD includes d_type (it's originally a BSDism I
think) - perhaps the configure script doesn't detect it properly...
... it seems so: _DIRENT_HAVE_D_TYPE doesn't get defined, which is what
the xodtemplate.c code is dependent on...
... ah, there it is, in a Linux /usr/include/dirent.h: if you look at a
linux manpage for readdir, the NOTES says:
[[[
NOTES
Only the fields d_name and d_ino are specified in POSIX.1-2001. The
remaining fields are available on many, but not all systems. Under
glibc, programs can check for the availability of the fields not defined
in POSIX.1 by testing whether the macros _DIRENT_HAVE_D_NAMLEN,
_DIRENT_HAVE_D_RECLEN, _DIRENT_HAVE_D_OFF, or _DIRENT_HAVE_D_TYPE are
defined.
]]]
... so this looks like a "glibcism".
To get this working under FreeBSD it may be simply sufficient to hack a
[[[
#define _DIRENT_HAVE_D_TYPE
]]]
into include/config.h before making...
...hm, having just tried it, that might just sort you out
The
situation on solaris is a little more harsh, since it has no d_type.
I'll sort out a patch to do that and something a little more convincing
for common.h that detects BSD systems.
Cheers,
jan
--
jan grant, ISYS, University of Bristol. http://www.bris.ac.uk/
Tel +44 (0)117 3317661 http://ioctl.org/jan/
ioctl(2): probably the coolest Unix system call in the world
This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
> It doesn't work in FreeBSD either -- don't get your hopes up. We
> reported it over a month ago to no avail. W/O a tracker you're just
> pissing in the wind.
That's rather odd; FreeBSD includes d_type (it's originally a BSDism I
think) - perhaps the configure script doesn't detect it properly...
... it seems so: _DIRENT_HAVE_D_TYPE doesn't get defined, which is what
the xodtemplate.c code is dependent on...
... ah, there it is, in a Linux /usr/include/dirent.h: if you look at a
linux manpage for readdir, the NOTES says:
[[[
NOTES
Only the fields d_name and d_ino are specified in POSIX.1-2001. The
remaining fields are available on many, but not all systems. Under
glibc, programs can check for the availability of the fields not defined
in POSIX.1 by testing whether the macros _DIRENT_HAVE_D_NAMLEN,
_DIRENT_HAVE_D_RECLEN, _DIRENT_HAVE_D_OFF, or _DIRENT_HAVE_D_TYPE are
defined.
]]]
... so this looks like a "glibcism".
To get this working under FreeBSD it may be simply sufficient to hack a
[[[
#define _DIRENT_HAVE_D_TYPE
]]]
into include/config.h before making...
...hm, having just tried it, that might just sort you out
situation on solaris is a little more harsh, since it has no d_type.
I'll sort out a patch to do that and something a little more convincing
for common.h that detects BSD systems.
Cheers,
jan
--
jan grant, ISYS, University of Bristol. http://www.bris.ac.uk/
Tel +44 (0)117 3317661 http://ioctl.org/jan/
ioctl(2): probably the coolest Unix system call in the world
This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]