I have installed the libraries from RPM
(postgresql-devel-7.0.2-2.i386.rpm). I couldn't compile a project using
the C++ library because in some config.h there's a line saying

#include "os.h"

that points to a link to a non-existent linux.h. Any ideas? I just
commented the line and worked fine so far, but I don't like it a bit.

Leandro Fanzone
Compaï¿½ï¿½a HASAR
Buenos Aires
Argentina


I have installed the libraries from RPM (postgresql-devel-7.0.2-2.i386.rpm).
I couldn't compile a project using the C++ library because in some config.h
there's a line saying
#include "os.h"
that points to a link to a non-existent linux.h. Any ideas? I just commented
the line and worked fine so far, but I don't like it a bit.
Leandro Fanzone
Compañía HASAR
Buenos Aires
Argentina
Tue, 05 Sep 2000 11:41:23 -0300
Leandro Fanzone <leandro@hasar.com>
C++ library probs
Leandro Fanzone <leandro@hasar.com> writes:
> --------------158FC9AA6F4DB960E871948D
> I have installed the libraries from RPM
> (postgresql-devel-7.0.2-2.i386.rpm). I couldn't compile a project using
> the C++ library because in some config.h there's a line saying
> #include "os.h"
> that points to a link to a non-existent linux.h. Any ideas? I just
> commented the line and worked fine so far, but I don't like it a bit.

Hmm.  Are you speaking of installed headers (stored in something like
/usr/local/include/pgsql/) or are you looking at a full Postgres
source-code tree?

In the source tree, os.h is a symlink made during the configure process,
but in the installed tree it ought to be a copy of the linked-to file.
At least that's how it's always worked for me.

I wonder whether this RPM was made with an "install" script that tries
to copy symlinks as symlinks rather than copying the underlying file.
If so, we need to change the install process to prevent that from
happening.

Lamar, Peter, any thoughts here?

			regards, tom lane

Tue, 05 Sep 2000 11:40:41 -0400
Tom Lane <tgl@sss.pgh.pa.us>
RPMs and symlinks (was Re: [NOVICE] C++ library probs)
Tom Lane wrote:

> Hmm.  Are you speaking of installed headers (stored in something like
> /usr/local/include/pgsql/) or are you looking at a full Postgres
> source-code tree?

Installed headers on /usr/include/pgsql. Didn't installed the source. The
link actually points to .././include/port/linux.h which doesn't exist. On the
other hand I have some "port" directory /usr/include/pgsql (it's not the
directory where the link is pointing, needless to say) but has no linux.h
inside, anyway.

Leandro Fanzone
Compaï¿½ï¿½a HASAR
Buenos Aires
Argentina


Tue, 05 Sep 2000 12:47:48 -0300
Leandro Fanzone <leandro@hasar.com>
Re: RPMs and symlinks (was Re: [NOVICE] C++ library probs)
Leandro Fanzone <leandro@hasar.com> writes:
> Installed headers on /usr/include/pgsql. Didn't installed the source. The
> link actually points to .././include/port/linux.h which doesn't exist.

I figured as much --- that's what the symlink should look like, in the
source tree, but it ought not get installed that way.  Looks like we
have a bug in the RPM build process.  (Fairly recent bug too, I bet,
or it would've been noticed before.)

I've attached a copy of 7.0.2's port/linux.h, which you can use to
replace the os.h symlink so you can get some work done meanwhile.

			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

Tue, 05 Sep 2000 11:52:36 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: RPMs and symlinks (was Re: [NOVICE] C++ library probs) 