Thread: mac os x compile failure

mac os x compile failure

From
Neil Brandt
Date:
I'm trying to compile postgres 8.1.2 on OS X 10.2.8.  Unfortunately I'm not much of a
compile-your-own guy, and I've hit a compile error that's beyond my improvisation abilities, and
gets no google hits either.

I realize this also an OS X expert thing: I'm also seeking help on one of the apple.com lists as
well.

I installed the December 2002 xcode package of developer stuff from apple, which seemed to be the
last one that was for OS X 10.2.

Initially I only installed the parts called BSDSDK and Developer Tools Software.

The postgres configure utility ran through fine.

I ran make.

Several minutes into it, I got a missing header file for osx installed version constants.

So I then installed the xcode part called Mac OS X SDK.

I ran make again.

Now, further in, I get the following output and error (note the "make -C file SUBSYS.o" is output,
not my initial command which was just "make" in the directory at the top of the postgres source).


make -C file SUBSYS.o
gcc -no-cpp-precomp -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Winline -fno-strict-aliasing
-I../../../../src/include -I/sw/include  -c -o fd.o fd.c
fd.c: In function `pg_fsync_writethrough':
fd.c:271: `F_FULLFSYNC' undeclared (first use in this function)
fd.c:271: (Each undeclared identifier is reported only once
fd.c:271: for each function it appears in.)
make[4]: *** [fd.o] Error 1
make[3]: *** [file-recursive] Error 2
make[2]: *** [storage-recursive] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2


Searching, I couldn't find anything useful on the F_FULLFSYNC constant, and no reports on a
similar failure.

Any ideas?  (Help!)

Thanks,

Neil










__________________________________________________________
Find your next car at http://autos.yahoo.ca

Re: mac os x compile failure

From
"Joshua D. Drake"
Date:
Neil Brandt wrote:
> I'm trying to compile postgres 8.1.2 on OS X 10.2.8.  Unfortunately I'm not much of a
> compile-your-own guy, and I've hit a compile error that's beyond my improvisation abilities, and
> gets no google hits either.
>
Make your life easy. Use Darwin ports:

http://darwinports.opendarwin.org/




--
The PostgreSQL Company - Command Prompt, Inc. 1.503.667.4564
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Managed Services, Shared and Dedicated Hosting
Co-Authors: PLphp, PLperl - http://www.commandprompt.com/


Re: mac os x compile failure

From
Tom Lane
Date:
Neil Brandt <far_neil@yahoo.ca> writes:
> fd.c: In function `pg_fsync_writethrough':
> fd.c:271: `F_FULLFSYNC' undeclared (first use in this function)
> fd.c:271: (Each undeclared identifier is reported only once
> fd.c:271: for each function it appears in.)

Hmm.  This is our bug: the code mistakenly supposes that every version
of OS X has that symbol, whereas evidently it was introduced in 10.3.

I'll try to see that this gets fixed for PG 8.1.3, but in the short run
you might be best off to update your OS X installation, or revert to
PG 8.0.* which doesn't try to use FULLFSYNC at all.

If you'd really like to stay on OS X 10.2, please consider joining the
buildfarm
http://www.pgbuildfarm.org/index.html
so that any other such problems will be caught promptly.  We have
buildfarm members running 10.3 and 10.4, but nobody covering 10.2.

            regards, tom lane

Re: mac os x compile failure

From
Michael Glaesemann
Date:
On Jan 18, 2006, at 4:56 , Tom Lane wrote:

> I'll try to see that this gets fixed for PG 8.1.3, but in the short
> run
> you might be best off to update your OS X installation, or revert to
> PG 8.0.* which doesn't try to use FULLFSYNC at all.

Thanks for working on this, Tom. I've got a Mac OS X 10.2
installation at a client and saw the same error when I was attempting
to upgrade from 7.4 to 8.1 but didn't have time to explore the cause.
If Neil doesn't report back sooner, I'll see if I can't build against
head this weekend.

Michael Glaesemann
grzm myrealbox com




Re: mac os x compile failure

From
Neil Brandt
Date:
Thanks for the help, Tom, and others who made suggestions.

I compiled and installed 8.0.6 with no problems on OS X 10.2.8

My little old imac's a happy postgres host now.

Neil

--- Tom Lane <tgl@sss.pgh.pa.us> wrote:

> Neil Brandt <far_neil@yahoo.ca> writes:
> > fd.c: In function `pg_fsync_writethrough':
> > fd.c:271: `F_FULLFSYNC' undeclared (first use in this function)
> > fd.c:271: (Each undeclared identifier is reported only once
> > fd.c:271: for each function it appears in.)
>
> Hmm.  This is our bug: the code mistakenly supposes that every version
> of OS X has that symbol, whereas evidently it was introduced in 10.3.
>
> I'll try to see that this gets fixed for PG 8.1.3, but in the short run
> you might be best off to update your OS X installation, or revert to
> PG 8.0.* which doesn't try to use FULLFSYNC at all.
>
> If you'd really like to stay on OS X 10.2, please consider joining the
> buildfarm
> http://www.pgbuildfarm.org/index.html
> so that any other such problems will be caught promptly.  We have
> buildfarm members running 10.3 and 10.4, but nobody covering 10.2.
>
>             regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq
>







__________________________________________________________
Find your next car at http://autos.yahoo.ca

Re: mac os x compile failure

From
Michael Glaesemann
Date:
On Jan 18, 2006, at 9:17 , Michael Glaesemann wrote:

>
> On Jan 18, 2006, at 4:56 , Tom Lane wrote:
>
>> I'll try to see that this gets fixed for PG 8.1.3, but in the
>> short run
>> you might be best off to update your OS X installation, or revert to
>> PG 8.0.* which doesn't try to use FULLFSYNC at all.
>
> Thanks for working on this, Tom. I've got a Mac OS X 10.2
> installation at a client and saw the same error when I was
> attempting to upgrade from 7.4 to 8.1 but didn't have time to
> explore the cause. If Neil doesn't report back sooner, I'll see if
> I can't build against head this weekend.

Unfortunately I don't have a recent-enough version of bison on the
10.2 machine and can't get bison-1.875 or bison-2.1 to compile so I
can't install from CVS. I'll definitely check when 8.1.3 is released.

Michael Glaesemann
grzm myrealbox com




Re: mac os x compile failure

From
Tom Lane
Date:
Michael Glaesemann <grzm@myrealbox.com> writes:
> Unfortunately I don't have a recent-enough version of bison on the
> 10.2 machine and can't get bison-1.875 or bison-2.1 to compile so I
> can't install from CVS. I'll definitely check when 8.1.3 is released.

That's odd --- AFAIR I've never had trouble building bison on my OS X
laptop.  What happens when you try?

One workaround would be to check out from CVS and then drop in the bison
output files from the 8.1.2 release tarball.  I'm pretty sure we have
not changed any of the bison (or flex) input files since then in that
branch.

            regards, tom lane

Re: mac os x compile failure

From
Michael Glaesemann
Date:
On Jan 22, 2006, at 3:10 , Tom Lane wrote:

> That's odd --- AFAIR I've never had trouble building bison on my OS X
> laptop.  What happens when you try?

I neglected to take any notes. I remember it was complaining about
"muscle" something-or-other during make.

> One workaround would be to check out from CVS and then drop in the
> bison
> output files from the 8.1.2 release tarball.

I'll give that a shot when I get back to that machine, probably this
coming weekend.

Michael Glaesemann
grzm myrealbox com




Re: mac os x compile failure

From
Michael Glaesemann
Date:
On Jan 24, 2006, at 9:21 , Michael Glaesemann wrote:

>
> On Jan 22, 2006, at 3:10 , Tom Lane wrote:
>
>> That's odd --- AFAIR I've never had trouble building bison on my OS X
>> laptop.  What happens when you try?
>
> I neglected to take any notes. I remember it was complaining about
> "muscle" something-or-other during make.

I have mixed emotions about it, but bison 1.875 built with no
problems the very first time I tried when I went in to service the
machine. No evidence at all of the problems I had building
bison-1.875 and bison-2.1 last week. I can't imagine what I did
differently. It was a straightforward ./configure --prefix=/usr/
local, make, make install. Kinda feel silly that I can't replicate
the error, but glad that it went fine.

>> One workaround would be to check out from CVS and then drop in the
>> bison
>> output files from the 8.1.2 release tarball.
>
> I'll give that a shot when I get back to that machine, probably
> this coming weekend.

Install from CVS when just fine. No error due to F_FULLSYNC, and
configure properly displayed
checking whether F_FULLFSYNC is declared... no

Mac OS X 10.2.8
./configure --prefix=/usr/local/pgsql-cvs --with-pgport=5431 --
mandir=/usr/local/share/man/ --with-includes=/sw/include/ --with-
libraries=/sw/lib/

Full output from configure, make, make install available if desired.
make check failed because it wasn't able to initdb (not enough memory
available) and I didn't want to mess around with changing shmem*. (I
don't even remember how to do that on an OS X 10.2 box.) Is there a
way to set the number of connections lower for the regression tests?

Thanks again, Tom. Looks like this fixed it.

Michael Glaesemann
grzm myrealbox com