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@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly