Lists: | pgsql-hackers |
---|
From: | "Zeugswetter Andreas SB SD" <ZeugswetterA(at)spardat(dot)at> |
---|---|
To: | "Peter Eisentraut" <peter_e(at)gmx(dot)net> |
Cc: | "PostgreSQL Development" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: AIX compilation problems (was Re: Proposal ...) |
Date: | 2002-10-01 08:23:13 |
Message-ID: | 46C15C39FEB2C44BA555E356FBCD6FA4961EA8@m0114.s-mxs.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
> > 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
From: | Samuel A Horwitz <horwitz(at)argoscomp(dot)com> |
---|---|
To: | Zeugswetter Andreas SB SD <ZeugswetterA(at)spardat(dot)at> |
Cc: | Peter Eisentraut <peter_e(at)gmx(dot)net>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: AIX compilation problems (was Re: Proposal ...) |
Date: | 2002-10-03 16:06:41 |
Message-ID: | Pine.A32.3.91.1021003120616.62174A-100000@argos |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
has this patched been applied to the CVS yet?
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(at)spardat(dot)at>
> To: Peter Eisentraut <peter_e(at)gmx(dot)net>
> Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)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(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
>
horwitz(at)argoscomp(dot)com (Samuel A Horwitz)
From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Samuel A Horwitz <horwitz(at)argoscomp(dot)com> |
Cc: | Zeugswetter Andreas SB SD <ZeugswetterA(at)spardat(dot)at>, Peter Eisentraut <peter_e(at)gmx(dot)net>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: AIX compilation problems (was Re: Proposal ...) |
Date: | 2002-10-03 17:23:50 |
Message-ID: | 200210031723.g93HNoa18182@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | 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(at)spardat(dot)at>
> > To: Peter Eisentraut <peter_e(at)gmx(dot)net>
> > Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)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(at)postgresql(dot)org so that your
> > message can get through to the mailing list cleanly
> >
>
>
> horwitz(at)argoscomp(dot)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(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From: | Samuel A Horwitz <horwitz(at)argoscomp(dot)com> |
---|---|
To: | Zeugswetter Andreas SB SD <ZeugswetterA(at)spardat(dot)at> |
Cc: | Peter Eisentraut <peter_e(at)gmx(dot)net>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: AIX compilation problems (was Re: Proposal ...) |
Date: | 2002-10-09 12:26:26 |
Message-ID: | Pine.A32.3.91.1021009082603.62002B-100000@argos |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
Has this fix been applied to the cvs yet, I am still getting the same
error
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(at)spardat(dot)at>
> To: Peter Eisentraut <peter_e(at)gmx(dot)net>
> Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)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(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
>
horwitz(at)argoscomp(dot)com (Samuel A Horwitz)
From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Samuel A Horwitz <horwitz(at)argoscomp(dot)com> |
Cc: | Zeugswetter Andreas SB SD <ZeugswetterA(at)spardat(dot)at>, Peter Eisentraut <peter_e(at)gmx(dot)net>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: AIX compilation problems (was Re: Proposal ...) |
Date: | 2002-10-09 15:23:02 |
Message-ID: | 200210091523.g99FN2v08252@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
Still in queue. I will apply today.
---------------------------------------------------------------------------
Samuel A Horwitz wrote:
> Has this fix been applied to the cvs yet, I am still getting the same
> error
>
>
> 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(at)spardat(dot)at>
> > To: Peter Eisentraut <peter_e(at)gmx(dot)net>
> > Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)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(at)postgresql(dot)org so that your
> > message can get through to the mailing list cleanly
> >
>
>
> horwitz(at)argoscomp(dot)com (Samuel A Horwitz)
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073