To report any other bug, fill out the form below and e-mail it to
pgsql...@postgresql.org.
If you not only found the problem but solved it and generated a patch
then e-mail it to pgsql-...@postgresql.org instead. Please use the
command "diff -c" to generate the patch.
You may also enter a bug report at http://www.postgresql.org/ instead of
e-mail-ing this form.
============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================
Your name : Nathan Charles
Your email address : Nathan....@cs.york.ac.uk
System Configuration
---------------------
Architecture (example: Intel Pentium) : Sparc Ultra 5
Operating System (example: Linux 2.0.26 ELF) : Sun Solaris 5.6
PostgreSQL version (example: PostgreSQL-6.3.2) : PostgreSQL-6.3.2
Compiler used (example: gcc 2.7.2) : gcc 2.7.2
Please enter a FULL description of your problem:
------------------------------------------------
When compiling the files in src/backend/bootstrap/ I get the following warnings/errors:
-------------------------------------------------------------------------------------------
make[2]: Entering directory `/tmp/nathan/postgresql-6.3.2/src/backend/bootstrap'
bison -y -d bootparse.y
grep -v "^#" boot.sed > sedfile
sed -f sedfile < y.tab.c > bootparse.c
mv y.tab.h bootstrap_tokens.h
rm -f y.tab.c sedfile
gcc -I../../include -I../../backend -Wall -Wmissing-prototypes -I.. -Wno-error -c bootparse.c
bison.simple:171: warning: no previous prototype for `Int_yyparse'
bison.simple: In function `Int_yyparse':
bison.simple:271: warning: implicit declaration of function `Int_yyerror'
bison.simple:330: warning: implicit declaration of function `Int_yylex'
bison.simple:535: warning: label `Int_yyerrlab1' defined but not used
bison.simple:307: warning: label `Int_yybackup' defined but not used
flex bootscanner.l
grep -v "^#" boot.sed > sedfile
sed -f sedfile < lex.yy.c > bootscanner.c
rm -f lex.yy.c sedfile
gcc -I../../include -I../../backend -Wall -Wmissing-prototypes -I.. -Wno-error -c bootscanner.c
bootscanner.l:359: warning: no previous prototype for `Int_yylex'
bootscanner.l: In function `Int_yylex':
bootscanner.l:408: warning: array subscript has type `char'
bootscanner.l:418: warning: array subscript has type `char'
bootscanner.l:190: warning: implicit declaration of function `Int_yywrap'
bootscanner.l: In function `Int_yy_get_next_buffer':
bootscanner.l:296: warning: implicit declaration of function `read'
bootscanner.l:296: warning: implicit declaration of function `fileno'
bootscanner.l: In function `Int_yy_get_previous_state':
bootscanner.l:353: warning: array subscript has type `char'
bootscanner.l:363: warning: array subscript has type `char'
bootscanner.l: In function `Int_yy_try_NUL_trans':
bootscanner.l:399: warning: array subscript has type `char'
bootscanner.l: At top level:
bootscanner.l:131: warning: no previous prototype for `Int_yywrap'
bootscanner.l:137: warning: no previous prototype for `Int_yyerror'
bootscanner.l:416: warning: `Int_yyunput' defined but not used
gcc -I../../include -I../../backend -Wall -Wmissing-prototypes -I.. -Wno-error -c bootstrap.c
bootstrap.c:216: parse error before `Warn_restart'
bootstrap.c:216: warning: data definition has no type or storage class
bootstrap.c: In function `BootstrapMain':
bootstrap.c:338: warning: implicit declaration of function `getopt'
bootstrap.c:433: warning: implicit declaration of function `sigsetjmp'
bootstrap.c: In function `boot_openrel':
bootstrap.c:496: warning: implicit declaration of function `memmove'
make[2]: *** [bootstrap.o] Error 1
make[2]: Leaving directory `/tmp/nathan/postgresql-6.3.2/src/backend/bootstrap'
make[1]: *** [bootstrap.dir] Error 2
make[1]: Leaving directory `/tmp/nathan/postgresql-6.3.2/src/backend'
make: *** [all] Error 2
-------------------------------------------------------------------------------------------
This causes make to fail. I've had a look in src/backend/bootstrap/bootstrap.c
and it looks like gcc doesn't like the following:
-------------------------------------------------------------------------------------------
209 #if !defined(HAVE_SIGSETJMP) && !defined(sigsetjmp)
210 static jmp_buf Warn_restart;
211
212 #define sigsetjmp(x,y) setjmp(x)
213 #define siglongjmp longjmp
214
215 #else
216 static sigjmp_buf Warn_restart;
217
218 #endif
-------------------------------------------------------------------------------------------
I would look at it more but I don't really know much about sigjmp's. Also when
compiling I get lots of warnings about "memmove" being implicitly defined.
I grep'd through /usr/include/ and none of the header files contain this function --
is this okay?
Please describe a way to repeat the problem. Please try to provide a
concise reproducible example, if at all possible:
----------------------------------------------------------------------
Compiling the file always exhibits the problem. I think it just doesn't
like the line "static sigjmp_buf Warn_restart;", I tried removing it and
replacing it with lines 210->213 (i.e. if true part of the condition) but
the compilation just failed later (when compiling a different file).
If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------
Sorry, I don't.