Re: Ultrix port - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Ultrix port
Date
Msg-id Pine.LNX.4.30.0103272002270.1215-100000@peter.localdomain
Whole thread Raw
In response to Ultrix port  (Alexander Klimov <ask@wisdom.weizmann.ac.il>)
List pgsql-hackers
Alexander Klimov writes:

> After two days of strugle I have compiled pgsql on ultrix, patch is in
> attachment. I still can't run `gmake check', because of shell problems
> in install.log:
>
> install:    no destination specified
> gmake[6]: *** [install-lib-shared] Error 1
> gmake[6]: Leaving directory
> `/tmp_mnt/hosts/wisdom/NewSoftware/Ask/build/pgsql/src/interfaces/libpq'

You either need to add

enable_shared = no

to Makefile.ultrix4, or inform Makefile.shlib about how to build shared
libraries.

> With the speed of the box it will take another two days to fix and
> check :-)

If you're using GCC then configure with --enable-depend to build
dependencies, so you don't have to do make clean everytime.

> First problem is sys/socket.h. Here it has no guards in it (like
> #ifdef _SOCKET_H
> #endif), so it could not be included twice, and I have to remove its
> unnecesarry inclusions.

Since there will be more unnecessary inclusions the next time somebody
touches a file, the ultimately better strategy might be to add such a
wrapper manually.

> I have to add src/utils/strdup.o to linking in
> src/interfaces/ecpg/preproc and /src/bin/pg_passwd
> and I don't shure how to do it in patch (so, it is not there).

See src/bin/psql/Makefile for examples of linking in helper .o files.

> sys/ipc.h included from miscadmin.h is needed for sys/sem.h, so I reorder
> their inclusion.

Better to explicitly include sys/ipc.h again where it's needed.

> There is no dynamic libraries for Ultrix, so I have to download libdl, but
> it is not supported by configure (I guess), so I add
> LIBS += -L/home/ask/soft/build/libdl -ldl
> it is obviously wrong -- should be changed.

There's

AC_CHECK_LIB(dl,       main)

which does what you want, but you need to give your linker a hint where to
find it.  See configure --with-libraries.

> BTW: Do anybody know about tool, helping to analize include structure, in
> order to eliminate several includes of one file (like case with
> sys/socket.h which is unneeded for everybody, who includes libpq-be.h)

Maybe the stuff under

src/tools/pginclude/

helps.

-- 
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: pgmonitor 0.30 released
Next
From: Tom Lane
Date:
Subject: Re: Backend crash (segfault) on query with inheritance hierarchy