Thread: AIX - pgport/contrib resolution
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
"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
"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
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
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
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
"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
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 >