pgsql-bugs@postgresql.org writes:
> /usr/include/pgsql/os.h does not exist
Yeah, this is a recently-noticed defect in the RPM distribution.
A symlink was installed as a symlink, instead of as the referenced
file.
Until a new RPM can be issued, the simplest fix is to replace the
os.h symlink with the correct contents of port/linux.h (attached).
regards, tom lane
/* __USE_POSIX, __USE_BSD, and __USE_BSD_SIGNAL used to be defined either
here or with -D compile options, but __ macros should be set and used by C
library macros, not Postgres code. __USE_POSIX is set by features.h,
__USE_BSD is set by bsd/signal.h, and __USE_BSD_SIGNAL appears not to
be used.
*/
#define JMP_BUF
#define USE_POSIX_TIME
#if defined(__i386__)
typedef unsigned char slock_t;
#define HAS_TEST_AND_SET
#elif defined(__sparc__)
typedef unsigned char slock_t;
#define HAS_TEST_AND_SET
#elif defined(__powerpc__)
typedef unsigned int slock_t;
#define HAS_TEST_AND_SET
#elif defined(__alpha__)
typedef long int slock_t;
#define HAS_TEST_AND_SET
#elif defined(__mips__)
typedef unsigned int slock_t;
#define HAS_TEST_AND_SET
#elif defined(__arm__)
typedef unsigned char slock_t
#define HAS_TEST_AND_SET
#endif
#if defined(__GLIBC__) && (__GLIBC__ >= 2)
#ifdef HAVE_INT_TIMEZONE
#undef HAVE_INT_TIMEZONE
#endif
#endif
#if defined(__powerpc__)
#undef HAVE_INT_TIMEZONE
#endif