At 19:54 01.03.01 +0100, Peter Eisentraut wrote:
>Tegge, Bernd writes:
>
> > >abs_top_srcdir=`cd $srcdir && pwd`
> > >abs_top_builddir=`pwd`
>
> > + test x//7/part2/CVStrees/pgsql != x/CVStrees/pgsql
>
>Hmm, I don't understand the semantics of the //# specification, but in
>your case the failure could probably be worked around if you ran configure
>like this: './configure', instead of the full absolute path. There are
>other places that rely on the textual equality of these two variables, and
>they're a bit harder to fix.
Just out of curiosity, what other places ?
If you reread my previous posting, you'll notice that I did "./configure"
at the shell prompt. As far as I can see the QNX sh will always show the
network absolute path for $0 in a script :
repas@qnx4[7]:ttypd$ cat xx.sh
#!/bin/sh
echo $0
repas@qnx4[7]:ttypd$ ./xx.sh
//7/home/repas/xx.sh
repas@qnx4[7]:ttypd$ /home/repas/xx.sh
//7/home/repas/xx.sh
repas@qnx4[7]:ttypd$ pwd
/home/repas
repas@qnx4[7]:ttypd$ cd //7/home/repas
repas@qnx4[7]:ttypd$ pwd
//7/home/repas
repas@qnx4[7]:ttypd$ cd /home/repas
repas@qnx4[7]:ttypd$ fullpath
/home/repas is //7/home/repas
repas@qnx4[7]:ttypd$
I currently see two ways to work around this problem :
1. set --srcdir to configure or
2. use the full path in cd command to the postgres directory.
Both are not really satisfying.
> > They *are* found. I see the above lines when configure runs. config.log
> > shows no errors for zlib.h and inflate. I still get link errors if I don't
> > add '-lz' manually. Should I put it in '~src/makefiles/Makefile.qnx4' ?
>
>Does -lz show up in LIBS in src/Makefile.global? Does it show up on the
>link command line? Maybe an ordering dependency.
Bingo. Yes, it's present in Makefile.global. Yes, LIBS is replaced by the
definition from Makefile.port (a.k.a. Makefile.qnx4). Now, how is one
supposed to add platform specific libraries to the LIBS variable ?
BTW, this also means that all the currently specified libraries from
Makefile.global except libz are redundant, and could be removed.
> > Well, the contents of the previous version were practically identical to
> > dynamic_loader.h, except that fmgr.h was not included before the function
> > declarations. That led to compile errors in dfmgr.c and fmgr.c because
> > PGFunction was not declared.
>
>I see. I misread the patch at first.
BTW, I made progress concerning the looping postmaster. The problem are
conflicting definitions for spinlocks in s_lock.h and slock_t from qnx4.h.
The former uses semaphores as locks, but the latter defines slock_t as
'unsigned char' instead of sem_t. Interestingly enough, this seems to
work in 7.0X.
I'll try to contact Andreas tomorrow, but I suspect slock_t should be set
to sem_t. At least that way initdb succeeds, but now I'm somehow missing
all the sql files from the test/regress directory ... time to stop for
today.