State of the QNX Port

From: "Tegge, Bernd" <tegge(at)repas-aeg(dot)de>
To: pgsql-ports(at)postgresql(dot)org
Subject: State of the QNX Port
Date: 2001-03-01 10:04:52
Message-ID: 5.0.0.25.0.20010228211209.00aa10a0@dragon.dr.repas.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ports

Andreas Kardos has left for greener pastures, so for now I'm stuck with
maintaining postgres on QNX4. I have some 10+ years of experience with QNX
but I know little about DBMS (including postgres).

I have tried to build the postgresql-7.1beta5 on QNX4.25. I have succeeded
in getting it to compile and link. However, during 'make check' the
postmaster enters a never ending loop. Beta4 fails with "IpcSemaphoreCreate:
semget : Invalid argument". I will look into this problem over
the weekend. So far here is the list of obstacles encountered :

* config/prep_buildtree :
* caused configure to exit, because the QNX shell may or may not return
an exit code of 0 if a script just ends without an exit statement.
added an 'exit 0' as last line
* the script called from configure replaced all Makefiles with
symlinks to themselves. This is because configure notices a difference
between $abs_top_builddir and $abs_top_srcdir. However they are the
same; the former just contains a net absolute path (i.e. has a
//<node> prefix ). This might also happen if the path contains a
symlink that is being resolved in one of the variables.
probably QNX specific
--- prep_buildtree.org Wed Feb 28 22:02:04 2001
+++ prep_buildtree Wed Feb 28 22:26:01 2001
@@ -19,16 +19,26 @@

buildtree=${2:-'.'}

+# check if $buildtree is an alias of $sourcetree
+rm -f $buildtree/$$
+touch $sourcetree/$$
+if test -f $buildtree/$$ ; then
+ rm -f $sourcetree/$$
+ exit 0
+fi
+exit 0
for item in `find "$sourcetree" -type d \( -name CVS -prune -o -print \)`; do
subdir=`expr "$item" : "$sourcetree\(.*\)"`
if test ! -d "$buildtree/$subdir"; then
- mkdir -p "$buildtree/$subdir" || exit
+ mkdir -p "$buildtree/$subdir" || exit 1
fi
done

for item in `find "$sourcetree" -name Makefile -o -name GNUmakefile`; do
subdir=`expr "$item" : "$sourcetree\(.*\)"`
if test ! -f "${item}.in"; then
- ln -fs "$item" "$buildtree/$subdir" || exit
+ ln -fs "$item" "$buildtree/$subdir" || exit 1
fi
done
+exit 0

* The shell command for remove-old-headers in ~/src/include/Makefile gave a
syntax error, because of a missing semicolon:

--- Makefile Wed Feb 28 20:33:33 2001
+++ Makefile.bck Wed Feb 28 20:33:33 2001
@@ -78,7 +78,7 @@
: ; \
else \
rm -f $(DESTDIR)$(includedir)/$$file; \
- fi ; \
+ fi \
done

* missing -lz in ~/src/bin/pg_dump/Makefile for pg_dump and pg_restore.
pg_dump and pg_restore make calls into the zlib, but have no -lz in the
link command.

--- Makefile.org Wed Feb 28 22:28:49 2001
+++ Makefile Wed Feb 28 22:15:21 2001
@@ -21,10 +21,10 @@
all: submake pg_dump pg_restore pg_dumpall

pg_dump: pg_dump.o common.o $(OBJS) $(libpq_builddir)/libpq.a
- $(CC) $(CFLAGS) pg_dump.o common.o $(OBJS) $(libpq) $(LDFLAGS)
$(LIBS) -
o $@
+ $(CC) $(CFLAGS) pg_dump.o common.o $(OBJS) $(libpq) $(LDFLAGS)
$(LIBS) -
lz -o $@

pg_restore: pg_restore.o $(OBJS) $(libpq_builddir)/libpq.a
- $(CC) $(CFLAGS) pg_restore.o $(OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@
+ $(CC) $(CFLAGS) pg_restore.o $(OBJS) $(libpq) $(LDFLAGS) $(LIBS) -lz -o
$@

../../utils/strdup.o:
$(MAKE) -C ../../utils strdup.o

Changes :

- replacement ~/src/backend/port/dynloader/qnx4.h
(clashed with the new fmgr code )

--
Bernd Tegge mailto:tegge(at)repas-aeg(dot)de
Tel: ++49-511-87449-12 repas AEG Automation GmbH
Fax: ++49-511-87449-20 GS Hannover, Germany

Attachment Content-Type Size
unknown_filename text/plain 562 bytes

Responses

Browse pgsql-ports by date

  From Date Subject
Next Message Christian Meunier 2001-03-01 12:12:51 Postmaster abort...
Previous Message Tegge, Bernd 2001-02-28 09:45:55 Re: QNX