Re: AIX compilation problems (was Re: Proposal ...) - Mailing list pgsql-hackers
From | Bruce Momjian |
---|---|
Subject | Re: AIX compilation problems (was Re: Proposal ...) |
Date | |
Msg-id | 200210031723.g93HNoa18182@candle.pha.pa.us Whole thread Raw |
In response to | Re: AIX compilation problems (was Re: Proposal ...) (Samuel A Horwitz <horwitz@argoscomp.com>) |
List | pgsql-hackers |
Samuel A Horwitz wrote: > has this patched been applied to the CVS yet? No, I was waiting to see if there were any negative comments, but seeing none, I will add it to the patch queue today. --------------------------------------------------------------------------- > > > On Tue, 1 Oct 2002, Zeugswetter > Andreas SB SD wrote: > > > Date: Tue, 1 Oct 2002 10:23:13 +0200 > > From: Zeugswetter Andreas SB SD <ZeugswetterA@spardat.at> > > To: Peter Eisentraut <peter_e@gmx.net> > > Cc: PostgreSQL Development <pgsql-hackers@postgresql.org> > > Subject: Re: AIX compilation problems (was Re: [HACKERS] Proposal ...) > > > > > > > > Attached is a patch to fix the mb linking problems on AIX. As a nice side effect > > > > it reduces the duplicate symbol warnings to linking libpq.so and libecpg.so > > > > (all shlibs that are not postmaster loadable modules). > > > > > > Can you explain the method behind your patch? Have you tried -bnogc? > > > > -bnogc would (probably) have been the correct switch reading the man page, > > but the method was previously not good since it involved the following: > > > > 1. create a static postgres executable from the SUBSYS.o's > > 2. create an exports file from above > > 3. recreate a shared postgres executable > > > > This naturally had a cyclic dependency, that could not properly be > > reflected in the Makefile (thus a second make sometimes left you with > > a static postgres unless you manually removed postgres.imp). > > > > Now it does: > > postgres.imp: $(OBJS) > > create a temporary SUBSYS.o from all $(OBJS) > > create a postgres.imp from SUBSYS.o > > rm temporary SUBSYS.o > > > > postgres: postgres.imp > > link a shared postgres > > > > A second change was to move the import and export files to the end of the link line, > > then the linker knows not to throw a duplicate symbol warning, and keeps all symbols > > that are mentioned in the exports file (== -bnogc restricted to $(OBJS) symbols). > > > > Thus now only libpq.so and libecpg.so still show the duplicate symbol warnings since their > > link line should actually not include postgres.imp . I did not see how to make a difference > > between loadable modules (need postgres.imp) and interface libraries (do not need postgres.imp), > > but since the resulting libs are ok, I left it at that. > > > > I tested both gcc and xlc including regression tests. > > > > Andreas > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 3: if posting/reading through Usenet, please send an appropriate > > subscribe-nomail command to majordomo@postgresql.org so that your > > message can get through to the mailing list cleanly > > > > > horwitz@argoscomp.com (Samuel A Horwitz) > > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
pgsql-hackers by date: