Oleg Bartunov <oleg(at)sai(dot)msu(dot)su> writes:
> make[2]: Entering directory /home/postgres/cvs/pgsql/src/backend'
> prereqdir=`cd parser/ && pwd` && \
> cd ../../src/include/parser/ && rm -f parse.h && \
> ln -s $prereqdir/parse.h .
> ln: ./parser: File exists
> make[2]: *** [../../src/include/parser/parse.h] Error 1
Hm. I bet your shell is failing to strip whitespace from the output of
pwd, so that the ln command ends up looking like
ln -s /home/postgres/cvs/pgsql/src/backend/parser /parse.h .
Can you check that theory by inserting an 'echo'?
regards, tom lane