Thread: AIX - pgport/contrib resolution

AIX - pgport/contrib resolution

From
"Rocco Altier"
Date:
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

Attachment

Re: AIX - pgport/contrib resolution

From
Tom Lane
Date:
"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

Re: AIX - pgport/contrib resolution

From
Tom Lane
Date:
"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

Re: AIX - pgport/contrib resolution

From
Andrew Dunstan
Date:

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

Re: AIX - pgport/contrib resolution

From
Tom Lane
Date:
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

Re: AIX - pgport/contrib resolution

From
"Rocco Altier"
Date:
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

> -----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
>

Attachment

Re: AIX - pgport/contrib resolution

From
Tom Lane
Date:
"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

Re: AIX - pgport/contrib resolution

From
"Rocco Altier"
Date:
Thanks for getting this in.

AIX is now green in 8.0 *happy dance*

    -rocco

> -----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
>