Thread: Makefile.PL for Pg.so

Makefile.PL for Pg.so

From
Larry Rosenman
Date:
I made the following patch, and it works for MY platform.

Peter,
    Can we do something similar for the distribution to set the
RUNPATH for Pg.so?


Index: Makefile.PL
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/perl5/Makefile.PL,v
retrieving revision 1.17
diff -c -r1.17 Makefile.PL
*** Makefile.PL    2001/03/06 22:07:09    1.17
--- Makefile.PL    2001/08/13 04:12:28
***************
*** 64,66 ****
--- 64,77 ----
  ];

  }
+ sub MY::dynamic_lib {
+       package MY;
+       my $inherited= shift->SUPER::dynamic_lib(@_);
+       if (! -d $ENV{POSTGRES_LIB} ) {
+        my $cwd = `pwd`;
+       chop $cwd;
+       $ENV{POSTGRES_LIB} = "$cwd/../libpq";
+       }
+       $inherited=~ s@OTHERLDFLAGS =@OTHERLDFLAGS =-R$ENV{POSTGRES_LIB}@;
+       $inherited;
+ }

--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

Re: Makefile.PL for Pg.so

From
Peter Eisentraut
Date:
Larry Rosenman writes:

> I made the following patch, and it works for MY platform.
>
> Peter,
>     Can we do something similar for the distribution to set the
> RUNPATH for Pg.so?

This is an interesting idea.  I'd rather rip out MakeMaker completely, but
this might be a good start.

--
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter


Re: Makefile.PL for Pg.so

From
Larry Rosenman
Date:
* Peter Eisentraut <peter_e@gmx.net> [010814 16:58]:
> Larry Rosenman writes:
>
> > I made the following patch, and it works for MY platform.
> >
> > Peter,
> >     Can we do something similar for the distribution to set the
> > RUNPATH for Pg.so?
>
> This is an interesting idea.  I'd rather rip out MakeMaker completely, but
> this might be a good start.
I'm not familiar enough with the config / autoconf stuff to do a
portable patch.  Can you help in this area?

LER
>
> --
> Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter

--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

Re: Makefile.PL for Pg.so

From
Peter Eisentraut
Date:
Larry Rosenman writes:

>     Can we do something similar for the distribution to set the
> RUNPATH for Pg.so?

AFAICT, Pg.so does get the runpath set correctly.  Are you saying it
doesn't work on your system or do you want to get rid of the
recompilation during installation?

--
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter


Re: Makefile.PL for Pg.so

From
Larry Rosenman
Date:
* Peter Eisentraut <peter_e@gmx.net> [010825 18:14]:
> Larry Rosenman writes:
>
> >     Can we do something similar for the distribution to set the
> > RUNPATH for Pg.so?
>
> AFAICT, Pg.so does get the runpath set correctly.  Are you saying it
> doesn't work on your system or do you want to get rid of the
> recompilation during installation?
It doesn't work on this systsm .

(you still have a login here).

LER

>
> --
> Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter

--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

Re: Makefile.PL for Pg.so

From
Larry Rosenman
Date:
* Peter Eisentraut <peter_e@gmx.net> [010825 18:14]:
> Larry Rosenman writes:
>
> >     Can we do something similar for the distribution to set the
> > RUNPATH for Pg.so?
>
> AFAICT, Pg.so does get the runpath set correctly.  Are you saying it
> doesn't work on your system or do you want to get rid of the
> recompilation during installation?
>
Oh, BTW, LD_RUN_PATH is *NOT* used to set the runpath on SVR5.  That's
why I needed to pass -R to the build.

LER

> --
> Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter

--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

Re: [HACKERS] Re: Makefile.PL for Pg.so

From
teg@redhat.com (Trond Eivind Glomsrød)
Date:
Lamar Owen <lamar.owen@wgcr.org> writes:

> On Saturday 25 August 2001 19:18, Peter Eisentraut wrote:
> > AFAICT, Pg.so does get the runpath set correctly.  Are you saying it
> > doesn't work on your system or do you want to get rid of the
> > recompilation during installation?
>
> Pg.so does not get the proper RPATH in a DESTDIR build environment.

Rather: Perl decides it wants to specify a LD_RUN_PATH in its makefile.
This will automatically make use of -R. It's fixed in the RPMs
available at http://people.redhat.com/teg/pg/

--
Trond Eivind Glomsrød
Red Hat, Inc.

Re: [HACKERS] Re: Makefile.PL for Pg.so

From
Lamar Owen
Date:
On Saturday 25 August 2001 19:18, Peter Eisentraut wrote:
> AFAICT, Pg.so does get the runpath set correctly.  Are you saying it
> doesn't work on your system or do you want to get rid of the
> recompilation during installation?

Pg.so does not get the proper RPATH in a DESTDIR build environment.

Trying to fix this for the RPMS -- the RPATH contains the buildroot instead
of where the libs really are.  Could cause security problems.  Working on it,
but it's slow going for me at this busy time.
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

Re: [HACKERS] Makefile.PL for Pg.so

From
Bruce Momjian
Date:
Can someone comment on this?


> I made the following patch, and it works for MY platform.
>
> Peter,
>     Can we do something similar for the distribution to set the
> RUNPATH for Pg.so?
>
>
> Index: Makefile.PL
> ===================================================================
> RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/perl5/Makefile.PL,v
> retrieving revision 1.17
> diff -c -r1.17 Makefile.PL
> *** Makefile.PL    2001/03/06 22:07:09    1.17
> --- Makefile.PL    2001/08/13 04:12:28
> ***************
> *** 64,66 ****
> --- 64,77 ----
>   ];
>
>   }
> + sub MY::dynamic_lib {
> +       package MY;
> +       my $inherited= shift->SUPER::dynamic_lib(@_);
> +       if (! -d $ENV{POSTGRES_LIB} ) {
> +        my $cwd = `pwd`;
> +       chop $cwd;
> +       $ENV{POSTGRES_LIB} = "$cwd/../libpq";
> +       }
> +       $inherited=~ s@OTHERLDFLAGS =@OTHERLDFLAGS =-R$ENV{POSTGRES_LIB}@;
> +       $inherited;
> + }
>
> --
> Larry Rosenman                     http://www.lerctr.org/~ler
> Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
> US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: [HACKERS] Makefile.PL for Pg.so

From
Larry Rosenman
Date:
I think peter_e dealt with this....

LER

* Bruce Momjian <pgman@candle.pha.pa.us> [010907 13:25]:
>
> Can someone comment on this?
>
>
> > I made the following patch, and it works for MY platform.
> >
> > Peter,
> >     Can we do something similar for the distribution to set the
> > RUNPATH for Pg.so?
> >
> >
> > Index: Makefile.PL
> > ===================================================================
> > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/perl5/Makefile.PL,v
> > retrieving revision 1.17
> > diff -c -r1.17 Makefile.PL
> > *** Makefile.PL    2001/03/06 22:07:09    1.17
> > --- Makefile.PL    2001/08/13 04:12:28
> > ***************
> > *** 64,66 ****
> > --- 64,77 ----
> >   ];
> >
> >   }
> > + sub MY::dynamic_lib {
> > +       package MY;
> > +       my $inherited= shift->SUPER::dynamic_lib(@_);
> > +       if (! -d $ENV{POSTGRES_LIB} ) {
> > +        my $cwd = `pwd`;
> > +       chop $cwd;
> > +       $ENV{POSTGRES_LIB} = "$cwd/../libpq";
> > +       }
> > +       $inherited=~ s@OTHERLDFLAGS =@OTHERLDFLAGS =-R$ENV{POSTGRES_LIB}@;
> > +       $inherited;
> > + }
> >
> > --
> > Larry Rosenman                     http://www.lerctr.org/~ler
> > Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
> > US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> >
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 853-3000
>   +  If your life is a hard drive,     |  830 Blythe Avenue
>   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

Re: [HACKERS] Makefile.PL for Pg.so

From
Bruce Momjian
Date:
Yes, thanks.  Cleaning out my mailbox, as usualy before a beta.



> I think peter_e dealt with this....
>
> LER
>
> * Bruce Momjian <pgman@candle.pha.pa.us> [010907 13:25]:
> >
> > Can someone comment on this?
> >
> >
> > > I made the following patch, and it works for MY platform.
> > >
> > > Peter,
> > >     Can we do something similar for the distribution to set the
> > > RUNPATH for Pg.so?
> > >
> > >
> > > Index: Makefile.PL
> > > ===================================================================
> > > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/perl5/Makefile.PL,v
> > > retrieving revision 1.17
> > > diff -c -r1.17 Makefile.PL
> > > *** Makefile.PL    2001/03/06 22:07:09    1.17
> > > --- Makefile.PL    2001/08/13 04:12:28
> > > ***************
> > > *** 64,66 ****
> > > --- 64,77 ----
> > >   ];
> > >
> > >   }
> > > + sub MY::dynamic_lib {
> > > +       package MY;
> > > +       my $inherited= shift->SUPER::dynamic_lib(@_);
> > > +       if (! -d $ENV{POSTGRES_LIB} ) {
> > > +        my $cwd = `pwd`;
> > > +       chop $cwd;
> > > +       $ENV{POSTGRES_LIB} = "$cwd/../libpq";
> > > +       }
> > > +       $inherited=~ s@OTHERLDFLAGS =@OTHERLDFLAGS =-R$ENV{POSTGRES_LIB}@;
> > > +       $inherited;
> > > + }
> > >
> > > --
> > > Larry Rosenman                     http://www.lerctr.org/~ler
> > > Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
> > > US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
> > >
> > > ---------------------------(end of broadcast)---------------------------
> > > TIP 2: you can get off all lists at once with the unregister command
> > >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> > >
> >
> > --
> >   Bruce Momjian                        |  http://candle.pha.pa.us
> >   pgman@candle.pha.pa.us               |  (610) 853-3000
> >   +  If your life is a hard drive,     |  830 Blythe Avenue
> >   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
>
> --
> Larry Rosenman                     http://www.lerctr.org/~ler
> Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
> US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: [HACKERS] Makefile.PL for Pg.so

From
Peter Eisentraut
Date:
Bruce Momjian writes:

> Can someone comment on this?

It's done.

>
>
> > I made the following patch, and it works for MY platform.
> >
> > Peter,
> >     Can we do something similar for the distribution to set the
> > RUNPATH for Pg.so?
> >
> >
> > Index: Makefile.PL
> > ===================================================================
> > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/perl5/Makefile.PL,v
> > retrieving revision 1.17
> > diff -c -r1.17 Makefile.PL
> > *** Makefile.PL    2001/03/06 22:07:09    1.17
> > --- Makefile.PL    2001/08/13 04:12:28
> > ***************
> > *** 64,66 ****
> > --- 64,77 ----
> >   ];
> >
> >   }
> > + sub MY::dynamic_lib {
> > +       package MY;
> > +       my $inherited= shift->SUPER::dynamic_lib(@_);
> > +       if (! -d $ENV{POSTGRES_LIB} ) {
> > +        my $cwd = `pwd`;
> > +       chop $cwd;
> > +       $ENV{POSTGRES_LIB} = "$cwd/../libpq";
> > +       }
> > +       $inherited=~ s@OTHERLDFLAGS =@OTHERLDFLAGS =-R$ENV{POSTGRES_LIB}@;
> > +       $inherited;
> > + }
> >
> > --
> > Larry Rosenman                     http://www.lerctr.org/~ler
> > Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
> > US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> >
>
>

--
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter