AIX - pgport/contrib resolution

Started by Rocco Altierabout 21 years ago8 messagespatches
Jump to latest
#1Rocco Altier
RoccoA@Routescape.com

The comment in regress/GNUmakefile about the pgport symbols not being
found got me thinking about why that might be the case.

I finally noticed that when we are building the postgres.imp file, we
are not pulling in the pgport symbols, since they are not being linked
into the local SUBSYS.o before running mkldexport.sh.

I noticed that windows has a similar dilemma when creating the .def
file.

The solution was to suck in libpgport.a before we extract all the
symbols out.

A patch to that affect is attached.

backend/Makefile - fix rule for AIX regarding pgport files
port/getopt_long - needed to have optreset wrapped in HAVE_INT_OPTRESET
regress/GNUmakefile - hopefully I backed out the change to bring in
pgsleep well enough

With these changes in place, I was able to complete a full build and
test suite (including contrib).

Thanks,
-rocco

Attachments:

aix-pgport-contrib.patchapplication/octet-stream; name=aix-pgport-contrib.patchDownload+8-14
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Rocco Altier (#1)
Re: AIX - pgport/contrib resolution

"Rocco Altier" <RoccoA@Routescape.com> writes:

The comment in regress/GNUmakefile about the pgport symbols not being
found got me thinking about why that might be the case.

I finally noticed that when we are building the postgres.imp file, we
are not pulling in the pgport symbols, since they are not being linked
into the local SUBSYS.o before running mkldexport.sh.

Ah-hah! Good detective work.

A patch to that affect is attached.

Will apply this in a bit.

regards, tom lane

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Rocco Altier (#1)
Re: AIX - pgport/contrib resolution

"Rocco Altier" <RoccoA@Routescape.com> writes:

I finally noticed that when we are building the postgres.imp file, we
are not pulling in the pgport symbols, since they are not being linked
into the local SUBSYS.o before running mkldexport.sh.

The solution was to suck in libpgport.a before we extract all the
symbols out.

A patch to that affect is attached.

I've applied this in a modified form: it seemed better to put
libpgport.a into $(OBJS), which not only gets it into the symbols
file but makes it a dependency that will force rebuilding of the
backend executable. Give me a holler if this doesn't work :-(

port/getopt_long - needed to have optreset wrapped in HAVE_INT_OPTRESET
regress/GNUmakefile - hopefully I backed out the change to bring in
pgsleep well enough

With these changes in place, I was able to complete a full build and
test suite (including contrib).

Pushed these in too ... hope to see a green board on the AIX buildfarm
machines soon.

regards, tom lane

#4Andrew Dunstan
andrew@dunslane.net
In reply to: Tom Lane (#3)
Re: AIX - pgport/contrib resolution

Tom Lane wrote:

Pushed these in too ... hope to see a green board on the AIX buildfarm
machines soon.

That's what we have. Good work. Are these changes too intrusive to
backpatch to 8.0?

cheers

andrew

#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andrew Dunstan (#4)
Re: AIX - pgport/contrib resolution

Andrew Dunstan <andrew@dunslane.net> writes:

Tom Lane wrote:

Pushed these in too ... hope to see a green board on the AIX buildfarm
machines soon.

That's what we have. Good work. Are these changes too intrusive to
backpatch to 8.0?

At this point I'm not sure which changes are necessary to get it working
and which were cosmetic improvements. Rocco, do you want to try to
devise a minimal patch for the 8.0 branch?

regards, tom lane

#6Rocco Altier
RoccoA@Routescape.com
In reply to: Tom Lane (#5)
Re: AIX - pgport/contrib resolution

Here is a backport of patches to get AIX to work on 8.0.

Basically, it's the changes to :
backend/Makefile - redo the linking of the SUBSYS objects
contrib/cube - pick up -lm
port/getopt_long.c - fix include files (might want to think about other
files changed here too?)
contrib/tsearch2 - similar include file fixes

The tsearch2 part is the most invasive part of the patch, but I only
brought over the parts that were stopping the compile directly, so it
might not be the whole thing, since I was trying to minimize the impact
on the code base.

It might be possible to trim the tsearch down further to only the needed
files, but I just brought over the include file fixes from HEAD directly
- so that the branches would be more directly comparable to each other.

Thanks,
-rocco

Show quoted text

-----Original Message-----
From: Andrew Dunstan [mailto:andrew@dunslane.net]
Sent: Thursday, July 28, 2005 9:53 AM
To: Tom Lane
Cc: Rocco Altier; pgsql-patches@postgresql.org
Subject: Re: [PATCHES] AIX - pgport/contrib resolution

Tom Lane wrote:

Pushed these in too ... hope to see a green board on the AIX

buildfarm

machines soon.

That's what we have. Good work. Are these changes too intrusive to
backpatch to 8.0?

cheers

andrew

Attachments:

aix-backport-80application/octet-stream; name=aix-backport-80Download+55-72
#7Tom Lane
tgl@sss.pgh.pa.us
In reply to: Rocco Altier (#6)
Re: AIX - pgport/contrib resolution

"Rocco Altier" <RoccoA@Routescape.com> writes:

Here is a backport of patches to get AIX to work on 8.0.

Basically, it's the changes to :
backend/Makefile - redo the linking of the SUBSYS objects
contrib/cube - pick up -lm
port/getopt_long.c - fix include files (might want to think about other
files changed here too?)
contrib/tsearch2 - similar include file fixes

Applied; many thanks for doing the legwork!

regards, tom lane

#8Rocco Altier
RoccoA@Routescape.com
In reply to: Tom Lane (#7)
Re: AIX - pgport/contrib resolution

Thanks for getting this in.

AIX is now green in 8.0 *happy dance*

-rocco

Show quoted text

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Monday, August 01, 2005 9:36 PM
To: Rocco Altier
Cc: Andrew Dunstan; pgsql-patches@postgresql.org
Subject: Re: [PATCHES] AIX - pgport/contrib resolution

"Rocco Altier" <RoccoA@Routescape.com> writes:

Here is a backport of patches to get AIX to work on 8.0.

Basically, it's the changes to :
backend/Makefile - redo the linking of the SUBSYS objects
contrib/cube - pick up -lm
port/getopt_long.c - fix include files (might want to think

about other

files changed here too?)
contrib/tsearch2 - similar include file fixes

Applied; many thanks for doing the legwork!

regards, tom lane