HOST MACHINE and OPERATING SYSTEM:
x86, OpenBSD 3.8
TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
Not different.
COMPILER NAME AND VERSION (AND PATCHLEVEL):
GCC 3.3.5
THE $ACE_ROOT/ace/config.h FILE:
Not used.
THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE:
Not used.
CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features:
Does not exist.
AREA/CLASS/EXAMPLE AFFECTED:
Building ACE is affected.
DOES THE PROBLEM AFFECT:
COMPILATION? Yes
LINKING? N/A
EXECUTION? N/A
OTHER (please specify)?
SYNOPSIS:
The configure script fails at the "checking if generated ACE configuration is usable" phase.
DESCRIPTION:
ACE's configure script fails to detect struct timespec, because it looks for it in time.h (and under OpenBSD, struct timespec is in sys/time.h). As a
result, ACE_HAS_POSIX_TIME doesn't get defined. But in such a case ace/Time_Value.h redefines struct timespec (while including sys/time.h).
ACE 5.4.8 didn't have this problem.
REPEAT BY:
Try to build ACE on OpenBSD 3.8.
SAMPLE FIX/WORKAROUND:
The fix is fairly simple, so I haven't included a patch. Maybe you should check for all other time-related structures and functions both in time.h and
sys/time.h?
Vladimir Panov <g...@voidland.org> writes:
> DESCRIPTION:
> ACE's configure script fails to detect struct timespec, because it
> looks for it in time.h (and under OpenBSD, struct timespec is in
> sys/time.h). As a result, ACE_HAS_POSIX_TIME doesn't get defined. But
> in such a case ace/Time_Value.h redefines struct timespec (while
> including sys/time.h).
> ACE 5.4.8 didn't have this problem.
I'm not sure what changed between X.4.8 and X.4.9, but I'll take care
of this by having the test #include <sys/time.h> for X.4.10.
>
> Try to build ACE on OpenBSD 3.8.
>
> SAMPLE FIX/WORKAROUND:
> The fix is fairly simple, so I haven't included a patch. Maybe you
> should check for all other time-related structures and functions both
> in time.h and sys/time.h?
It looks like this part of the configure script needs a bit of work
as it has a lot of cruft (feature tests for timestruc_t, etc.) that
probably should be removed as we remove support for deprecated and
obsolete platforms in the X.5.Y releases. That being the case, I'm
just going to fix the immediate problem.
--jtc
--
J.T. Conklin