Thread: BUG #14117: psql and pg_dump commands should use ENV perl
The following bug has been logged on the website: Bug reference: 14117 Logged by: Joe Steffee Email address: jsteffee@bepress.com PostgreSQL version: 9.5.2 Operating system: Ubuntu 14.04.2 Description: We have multiple systems which use non-system perl for various tasks, including perl scripts which test some pg_dump commands. These break because psql and pg_dump are hard-coded with #!/usr/bin/perl instead of #!/usr/bin/env perl. The PERL5LIB is set up with libraries based on the perl called with ENV, where /usr/bin/perl has libraries compiled differently.
jsteffee@bepress.com writes: > We have multiple systems which use non-system perl for various tasks, > including perl scripts which test some pg_dump commands. These break because > psql and pg_dump are hard-coded with #!/usr/bin/perl instead of > #!/usr/bin/env perl. The PERL5LIB is set up with libraries based on the perl > called with ENV, where /usr/bin/perl has libraries compiled differently. Uh, what? Neither of those programs use perl at all. We do have hard-wired uses of /usr/bin/perl in some scripts that might get used at build time, but those shouldn't really be an issue, especially not if you're using prebuilt packages, or even just building from a tarball. regards, tom lane
On 2016-04-27 18:27:07 -0400, Tom Lane wrote: > jsteffee@bepress.com writes: > > We have multiple systems which use non-system perl for various tasks, > > including perl scripts which test some pg_dump commands. These break because > > psql and pg_dump are hard-coded with #!/usr/bin/perl instead of > > #!/usr/bin/env perl. The PERL5LIB is set up with libraries based on the perl > > called with ENV, where /usr/bin/perl has libraries compiled differently. > > Uh, what? Neither of those programs use perl at all. > > We do have hard-wired uses of /usr/bin/perl in some scripts that might get > used at build time, but those shouldn't really be an issue, especially not > if you're using prebuilt packages, or even just building from a tarball. I guess the OP is using the debian/ubuntu packages which have a wrapper around most postgres binariers which tries to use the correct version of the binary. Joe, you might have more success opening a bug-report against either Debian's or Ubuntu's packages. Andres
pg_dump and psql are perl programs. They were installed from http://apt.postgresql.org/pub/repos/apt/ Who maintains apt.postgresql.org? On Wed, Apr 27, 2016 at 3:30 PM, Andres Freund <andres@anarazel.de> wrote: > On 2016-04-27 18:27:07 -0400, Tom Lane wrote: > > jsteffee@bepress.com writes: > > > We have multiple systems which use non-system perl for various tasks, > > > including perl scripts which test some pg_dump commands. These break > because > > > psql and pg_dump are hard-coded with #!/usr/bin/perl instead of > > > #!/usr/bin/env perl. The PERL5LIB is set up with libraries based on > the perl > > > called with ENV, where /usr/bin/perl has libraries compiled > differently. > > > > Uh, what? Neither of those programs use perl at all. > > > > We do have hard-wired uses of /usr/bin/perl in some scripts that might > get > > used at build time, but those shouldn't really be an issue, especially > not > > if you're using prebuilt packages, or even just building from a tarball. > > I guess the OP is using the debian/ubuntu packages which have a wrapper > around most postgres binariers which tries to use the correct version of > the binary. > > Joe, you might have more success opening a bug-report against either > Debian's > or Ubuntu's packages. > > Andres > -- Joe Steffee Linux Systems Administrator bepress
You're right. /usr/bin/psql is a wrapper for the actual psql command being called. You can close this bug. On Wed, Apr 27, 2016 at 3:47 PM, Joe Steffee <jsteffee@bepress.com> wrote: > pg_dump and psql are perl programs. > > They were installed from http://apt.postgresql.org/pub/repos/apt/ > > Who maintains apt.postgresql.org? > > > On Wed, Apr 27, 2016 at 3:30 PM, Andres Freund <andres@anarazel.de> wrote: > >> On 2016-04-27 18:27:07 -0400, Tom Lane wrote: >> > jsteffee@bepress.com writes: >> > > We have multiple systems which use non-system perl for various tasks, >> > > including perl scripts which test some pg_dump commands. These break >> because >> > > psql and pg_dump are hard-coded with #!/usr/bin/perl instead of >> > > #!/usr/bin/env perl. The PERL5LIB is set up with libraries based on >> the perl >> > > called with ENV, where /usr/bin/perl has libraries compiled >> differently. >> > >> > Uh, what? Neither of those programs use perl at all. >> > >> > We do have hard-wired uses of /usr/bin/perl in some scripts that might >> get >> > used at build time, but those shouldn't really be an issue, especially >> not >> > if you're using prebuilt packages, or even just building from a tarball. >> >> I guess the OP is using the debian/ubuntu packages which have a wrapper >> around most postgres binariers which tries to use the correct version of >> the binary. >> >> Joe, you might have more success opening a bug-report against either >> Debian's >> or Ubuntu's packages. >> >> Andres >> > > > > -- > Joe Steffee > Linux Systems Administrator > bepress > -- Joe Steffee Linux Systems Administrator bepress
Re: jsteffee@bepress.com 2016-04-27 <20160427202409.19109.81530@wrigleys.postgresql.org> > The following bug has been logged on the website: > > Bug reference: 14117 > Logged by: Joe Steffee > Email address: jsteffee@bepress.com > PostgreSQL version: 9.5.2 > Operating system: Ubuntu 14.04.2 > Description: > > We have multiple systems which use non-system perl for various tasks, > including perl scripts which test some pg_dump commands. These break because > psql and pg_dump are hard-coded with #!/usr/bin/perl instead of > #!/usr/bin/env perl. The PERL5LIB is set up with libraries based on the perl > called with ENV, where /usr/bin/perl has libraries compiled differently. Hi, the usage of `#!/usr/bin/perl' is mandated by the Debian policy and the Perl sub policy, so it is not going to change. If you need a different Perl, you'll need to dpkg-divert /usr/bin/perl away and install your version there, I'm afraid. Christoph