Thread: postgresql-8.0.0 beta5 & postgresql-7.4.6 can't compile successfully in Solaris 10 x86

Hi,

I tried to build postgresql-8.0.0beta5 and postgresql-7.4.6 on Solaris
10 x86 following the instruction by doing:
1. ./configure
2. gmake

When I implemented the step 2. I got the following error messages:

-----------
/usr/local/bin/gcc -O2 -pipe -fno-strict-aliasing -Wall
-Wmissing-prototypes -Wm
issing-declarations -I../../../../src/include   -c -o xlog.o xlog.c
In file included from /usr/include/sys/signal.h:35,
                 from /usr/include/signal.h:27,
                 from xlog.c:18:
/usr/include/sys/siginfo.h:259: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:292: error: parse error before '}' token
/usr/include/sys/siginfo.h:294: error: parse error before '}' token
/usr/include/sys/siginfo.h:390: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:398: error: conflicting types for `__fault'
/usr/include/sys/siginfo.h:267: error: previous declaration of `__fault'
/usr/include/sys/siginfo.h:404: error: conflicting types for `__file'
/usr/include/sys/siginfo.h:273: error: previous declaration of `__file'
/usr/include/sys/siginfo.h:420: error: conflicting types for `__prof'
/usr/include/sys/siginfo.h:287: error: previous declaration of `__prof'
/usr/include/sys/siginfo.h:424: error: conflicting types for `__rctl'
/usr/include/sys/siginfo.h:291: error: previous declaration of `__rctl'
/usr/include/sys/siginfo.h:426: error: parse error before '}' token
/usr/include/sys/siginfo.h:428: error: parse error before '}' token
/usr/include/sys/siginfo.h:432: error: parse error before "k_siginfo_t"
/usr/include/sys/siginfo.h:437: error: parse error before '}' token
In file included from /usr/include/signal.h:27,
                 from xlog.c:18:
/usr/include/sys/signal.h:87: error: parse error before "siginfo_t"
In file included from xlog.c:18:
/usr/include/signal.h:105: error: parse error before "siginfo_t"
/usr/include/signal.h:106: error: parse error before "siginfo_t"
make[4]: *** [xlog.o] Error 1
make[4]: Leaving directory
`/tests/postgres/postgresql-7.4.6/src/backend/access/
transam'
-------------

The compilation of postgresql on Solaris 10 x86 failed then.
Please send me the patch to fix this bug.


Thanks,
Jenny

--

   Jenny Chen
   Software Engineer
   Market Development Engineering
   v-mail:(510) 574-7149
   SUN Microsystems

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

From
Bruce Momjian
Date:
Would you tell use what is on this line?

    /usr/include/sys/siginfo.h:259:

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.

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?

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

Luojia Chen wrote:
> Hi,
>
> I tried to build postgresql-8.0.0beta5 and postgresql-7.4.6 on Solaris
> 10 x86 following the instruction by doing:
> 1. ./configure
> 2. gmake
>
> When I implemented the step 2. I got the following error messages:
>
> -----------
> /usr/local/bin/gcc -O2 -pipe -fno-strict-aliasing -Wall
> -Wmissing-prototypes -Wm
> issing-declarations -I../../../../src/include   -c -o xlog.o xlog.c
> In file included from /usr/include/sys/signal.h:35,
>                  from /usr/include/signal.h:27,
>                  from xlog.c:18:
> /usr/include/sys/siginfo.h:259: error: parse error before "ctid_t"
> /usr/include/sys/siginfo.h:292: error: parse error before '}' token
> /usr/include/sys/siginfo.h:294: error: parse error before '}' token
> /usr/include/sys/siginfo.h:390: error: parse error before "ctid_t"
> /usr/include/sys/siginfo.h:398: error: conflicting types for `__fault'
> /usr/include/sys/siginfo.h:267: error: previous declaration of `__fault'
> /usr/include/sys/siginfo.h:404: error: conflicting types for `__file'
> /usr/include/sys/siginfo.h:273: error: previous declaration of `__file'
> /usr/include/sys/siginfo.h:420: error: conflicting types for `__prof'
> /usr/include/sys/siginfo.h:287: error: previous declaration of `__prof'
> /usr/include/sys/siginfo.h:424: error: conflicting types for `__rctl'
> /usr/include/sys/siginfo.h:291: error: previous declaration of `__rctl'
> /usr/include/sys/siginfo.h:426: error: parse error before '}' token
> /usr/include/sys/siginfo.h:428: error: parse error before '}' token
> /usr/include/sys/siginfo.h:432: error: parse error before "k_siginfo_t"
> /usr/include/sys/siginfo.h:437: error: parse error before '}' token
> In file included from /usr/include/signal.h:27,
>                  from xlog.c:18:
> /usr/include/sys/signal.h:87: error: parse error before "siginfo_t"
> In file included from xlog.c:18:
> /usr/include/signal.h:105: error: parse error before "siginfo_t"
> /usr/include/signal.h:106: error: parse error before "siginfo_t"
> make[4]: *** [xlog.o] Error 1
> make[4]: Leaving directory
> `/tests/postgres/postgresql-7.4.6/src/backend/access/
> transam'
> -------------
>
> The compilation of postgresql on Solaris 10 x86 failed then.
> Please send me the patch to fix this bug.
>
>
> Thanks,
> Jenny
>
> --
>
>    Jenny Chen
>    Software Engineer
>    Market Development Engineering
>    v-mail:(510) 574-7149
>    SUN Microsystems
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>

--
  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

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

From
Luojia Chen
Date:
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          */

> 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.

> 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);

-----------



Thanks,
Jenny


> ---------------------------------------------------------------------------
>
> Luojia Chen wrote:
>
>>Hi,
>>
>>I tried to build postgresql-8.0.0beta5 and postgresql-7.4.6 on Solaris
>>10 x86 following the instruction by doing:
>>1. ./configure
>>2. gmake
>>
>>When I implemented the step 2. I got the following error messages:
>>
>>-----------
>>/usr/local/bin/gcc -O2 -pipe -fno-strict-aliasing -Wall
>>-Wmissing-prototypes -Wm
>>issing-declarations -I../../../../src/include   -c -o xlog.o xlog.c
>>In file included from /usr/include/sys/signal.h:35,
>>                 from /usr/include/signal.h:27,
>>                 from xlog.c:18:
>>/usr/include/sys/siginfo.h:259: error: parse error before "ctid_t"
>>/usr/include/sys/siginfo.h:292: error: parse error before '}' token
>>/usr/include/sys/siginfo.h:294: error: parse error before '}' token
>>/usr/include/sys/siginfo.h:390: error: parse error before "ctid_t"
>>/usr/include/sys/siginfo.h:398: error: conflicting types for `__fault'
>>/usr/include/sys/siginfo.h:267: error: previous declaration of `__fault'
>>/usr/include/sys/siginfo.h:404: error: conflicting types for `__file'
>>/usr/include/sys/siginfo.h:273: error: previous declaration of `__file'
>>/usr/include/sys/siginfo.h:420: error: conflicting types for `__prof'
>>/usr/include/sys/siginfo.h:287: error: previous declaration of `__prof'
>>/usr/include/sys/siginfo.h:424: error: conflicting types for `__rctl'
>>/usr/include/sys/siginfo.h:291: error: previous declaration of `__rctl'
>>/usr/include/sys/siginfo.h:426: error: parse error before '}' token
>>/usr/include/sys/siginfo.h:428: error: parse error before '}' token
>>/usr/include/sys/siginfo.h:432: error: parse error before "k_siginfo_t"
>>/usr/include/sys/siginfo.h:437: error: parse error before '}' token
>>In file included from /usr/include/signal.h:27,
>>                 from xlog.c:18:
>>/usr/include/sys/signal.h:87: error: parse error before "siginfo_t"
>>In file included from xlog.c:18:
>>/usr/include/signal.h:105: error: parse error before "siginfo_t"
>>/usr/include/signal.h:106: error: parse error before "siginfo_t"
>>make[4]: *** [xlog.o] Error 1
>>make[4]: Leaving directory
>>`/tests/postgres/postgresql-7.4.6/src/backend/access/
>>transam'
>>-------------
>>
>>The compilation of postgresql on Solaris 10 x86 failed then.
>>Please send me the patch to fix this bug.
>>
>>
>>Thanks,
>>Jenny
>>
>>--
>>
>>   Jenny Chen
>>   Software Engineer
>>   Market Development Engineering
>>   v-mail:(510) 574-7149
>>   SUN Microsystems
>>
>>
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>>
>
>


--

   Jenny Chen
   Software Engineer
   Market Development Engineering
   v-mail:(510) 574-7149
   SUN Microsystems