Re: postgresql-8.0.0 beta5 & postgresql-7.4.6 can't compile successfully

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Luojia(dot)Chen(at)Sun(dot)COM
Cc: pgsql-bugs(at)postgresql(dot)org, Rajesh Ramchandani <Rajesh(dot)Ramchandani(at)Sun(dot)COM>
Subject: Re: postgresql-8.0.0 beta5 & postgresql-7.4.6 can't compile successfully
Date: 2004-12-23 20:32:30
Message-ID: 200412232032.iBNKWUf01787@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


Your compiler seems confused. I have this at printtup.c:656:

PrinttupAttrInfo *thisState = myState->myinfo + i;
Datum origattr = myState->values[i],
attr;
bytea *outputbytes;

I dont see any 'message' there, and am confused. This is strange too:

> printtup.c:660: error: conflicting types for `pq_sendint'
> ../../../../src/include/libpq/pqformat.h:25: error: previous declaration

I see no mention of pg_sendint around line 660. I think either your
compiler or preprocessor is buggy. I would start commenting out lines
to see what is causing the failure. The problem might be much higher in
the file.

---------------------------------------------------------------------------

Luojia Chen wrote:
> Hi, Bruce,
>
> Good news is that I've found that the reason caused the compilation
> error messages about signal.h header file I reported to you before - I
> used GCC binary built on Solaris 9 x86,which has old header files to
> work with. The error got fixed after using the gcc binary for Solaris 10
> x86.
>
> However, I got the new error messages when building Postgres 8.0 on
> Solaris 10 x86, the error is as the following:
>
> ----------
> gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
> -Wmissing-declarations -I../../../../src/include -c -o heaptuple.o
> heaptuple.c
> gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
> -Wmissing-declarations -I../../../../src/include -c -o indextuple.o
> indextuple.c
> gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
> -Wmissing-declarations -I../../../../src/include -c -o indexvalid.o
> indexvalid.c
> gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
> -Wmissing-declarations -I../../../../src/include -c -o printtup.o
> printtup.c
> printtup.c:656: error: parse error before "message"
> printtup.c:660: error: parse error before '&' token
> printtup.c:660: warning: type defaults to `int' in declaration of
> `pq_sendint'
> printtup.c:660: error: conflicting types for `pq_sendint'
> ../../../../src/include/libpq/pqformat.h:25: error: previous declaration
> of `pq_sendint'
> printtup.c:660: warning: data definition has no type or storage class
> printtup.c:672: warning: type defaults to `int' in declaration of `origattr'
> printtup.c:672: error: conflicting types for `origattr'
> printtup.c:668: error: previous declaration of `origattr'
> printtup.c:672:46: warning: null character(s) ignored
> printtup.c:672: confused by earlier errors, bailing out
> make[4]: *** [printtup.o] Error 1
> make[4]: Leaving directory
> `/tests/postgres/postgresql-7.4.6/src/backend/access/common'
> make[3]: *** [common-recursive] Error 2
> make[3]: Leaving directory
> `/tests/postgres/postgresql-7.4.6/src/backend/access'
> make[2]: *** [access-recursive] Error 2
> make[2]: Leaving directory `/tests/postgres/postgresql-7.4.6/src/backend'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/tests/postgres/postgresql-7.4.6/src'
> make: *** [all] Error 2
> ----------
>
> Could you please let me know why the above error happened when running
> make, and how to solve it?
>
> Thanks in advance for your help!
>
>
> Happy holiday,
> Jenny
>
> Luojia Chen wrote:
> > Bruce Momjian wrote:
> >
> >>Luojia Chen wrote:
> >>
> >>
> >>>Hi,
> >>>
> >>>Please see my inline reply.
> >>>
> >>>Bruce Momjian wrote:
> >>>
> >>>
> >>>>Would you tell use what is on this line?
> >>>>
> >>>> /usr/include/sys/siginfo.h:259:
> >>>
> >>>ctid_t __ctid; /* contract ID */
> >>
> >>
> >>OK, do a 'grep' and find out what /usr/include/* file contains the
> >>definiation of ctid_t.
> >
> >
> > Hi,Bruce,
> >
> > The ctid_t was defined in /usr/include/sys/types.h
> >
> > typedef id_t ctid_t;
> >
> >
> >>>>Seems you need an extra #include for that platform. Try adding
> >>>>"#include <sys/types.h>" before the signal.h include and see if that
> >>>>helps.
> >>>
> >>>Adding the "#include <sys/types.h>" in the "/usr/include/sys/signal.h"
> >>>and "/usr/include/signal.h" doesn't help.
> >>
> >>
> >>OK.
> >>
> >>
> >>
> >>>>If your signal.h can't be used without a previous include being present
> >>>>it sounds like a bug in the operating system.
> >>>>
> >>>>My BSD system has for the signal manual page:
> >>>>
> >>>> #include <signal.h>
> >>>>
> >>>> void
> >>>> *signal(sig, func());
> >>>>
> >>>>Does your signal manual page have another #include at the top?
> >>>
> >>>No, I didn't see any other #include at the top for the manual page
> >>>It shows as:
> >>>-----------
> >>> #include <signal.h>
> >>>
> >>> void (*signal (int sig, void (*disp)(int)))(int);
> >>
> >>
> >>OK, try a simple test. Create a small C file that just includes
> >>signal.h and see if it compiles. If it doesn't, that manual page is
> >>wrong, at the least.
> >>
> >
> >
> > A simple test.c as bellow as you suggested:
> >
> > #include <signal.h>
> > #include <stdio.h>
> >
> > int main()
> > {
> > printf("just a test");
> > return 0;
> > }
> >
> > It compiled and run well without any error.
> >
> >
> >
> > Thanks,
> > Jenny
> >
> >
> >
> >
>
>
> --
>
> Jenny Chen
> Software Engineer
> Market Development Engineering
> v-mail:(510) 574-7149
> SUN Microsystems
>
>
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Scott Stillwell 2004-12-24 02:21:31 Re: [pgsql-www] BUG #1355: 8.0.0 rc2 installer fails
Previous Message Luojia Chen 2004-12-23 19:31:40 Re: postgresql-8.0.0 beta5 & postgresql-7.4.6 can't compile