compilation error with postgres 9.3 on ubuntu
I start on studying database development with postgres
recently, and I’m sure I need to start from compilation of the source code, but a compilation problem comes to me.
The one I coped with is shared below, and I would like to show my linux environment first:
Compilation Env:
1 |
|
Error Stack:
1 |
|
This problem keep bothering even after I usedmake distclean
./configure --enable-depend && make
At first, I found some solution mentioned about the bison
parser generator, so I regenerator some syntax file.bison -d -o preproc.c preproc.y
But this continue bothering me. I feel helpless…
Night after that, I find a other method to cope with it:
1 |
|
After adding this enum, ET_FATAL
, compilation become successful!
But there still has a strange warning:
1 |
|
Which indicating the enum
I just added is already retired. What can I do next?
So I sent my first mail to psql-hackers
mail group, and I got replied:
You have to rebuild the auto-generated pgc.c, preproc.c and preproc.y or simplyremove them to force a rebuild.
This directed me. I deleted pgc.c
preproc.c
preproc.h
preproc.y
, which I used to treat as important, but turn out to be generated files.
And this time, I could make
successfully!
I have learned it is the reason that the first time I make
, those .y
files are generated automatically, but they would not deleted by make distclean
, which result in the above error.
Also I got to know, make maintainer-clean
can clean all unnecessary file, hackers will use this to clean all no-needed files when they coding.
I have learnt more from this, compilation principle
is so important that it was a great pity for my school do not have this class!