Discussion:
install perl DBD::Pg problem
(too old to reply)
j***@gmail.com
2014-05-19 21:21:38 UTC
Permalink
I encounter a problem installing perl DBD::Pg on Ubuntu
with regard to Pg information.

Here is what I did:

Ubuntu_bash> sudo apt-get install postgresql-server-dev-9.1
and it's up running.

Ubuntu_bash> sudo cpan
CPAN> install DBD::Pg
................................................
Enter a valid PostgreSQL postgres major version number 9
Enter a valid PostgreSQL postgres minor version number 1
Enter a valid PostgreSQL postgres patch version number 13
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
Enter a valid PostgreSQL postgres bin dir /usr/lib/postgresql/9.1/bin/
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
Enter a valid PostgreSQL postgres include dir /usr/lib/postgresql/9.1/lib
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
Enter a valid PostgreSQL postgres library dir /usr/lib/postgresql/9.1/lib
PostgreSQL version: 90113 (default port: 5432)
................................................
In file included from Pg.xs:13:0:
Pg.h:35:22: fatal error: libpq-fe.h: No such file or directory
compilation terminated.
make: *** [Pg.o] Error 1
TURNSTEP/DBD-Pg-3.2.0.tar.gz
/usr/bin/make -- NOT OK

Could someone suggest what was wrong and how can I get by this?

Thanks in advance!

joe
Rainer Weikusat
2014-05-19 21:43:21 UTC
Permalink
Post by j***@gmail.com
I encounter a problem installing perl DBD::Pg on Ubuntu
with regard to Pg information.
Ubuntu_bash> sudo apt-get install postgresql-server-dev-9.1
and it's up running.
Ubuntu_bash> sudo cpan
CPAN> install DBD::Pg
................................................
Enter a valid PostgreSQL postgres major version number 9
Enter a valid PostgreSQL postgres minor version number 1
Enter a valid PostgreSQL postgres patch version number 13
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
Enter a valid PostgreSQL postgres bin dir /usr/lib/postgresql/9.1/bin/
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
Enter a valid PostgreSQL postgres include dir /usr/lib/postgresql/9.1/lib
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
Enter a valid PostgreSQL postgres library dir /usr/lib/postgresql/9.1/lib
PostgreSQL version: 90113 (default port: 5432)
................................................
Pg.h:35:22: fatal error: libpq-fe.h: No such file or directory
compilation terminated.
make: *** [Pg.o] Error 1
TURNSTEP/DBD-Pg-3.2.0.tar.gz
/usr/bin/make -- NOT OK
Could someone suggest what was wrong and how can I get by this?
As you've probably already guessed, this means it can't find the files
necessary for interfacing with Postgres. The directories you've entered
are almost certainly bogus and I strongly suspect that the first prompts
asking for 'the valid version' already occur because the files can't be
found. You will need to determine why it doesn't find them. What I'd do
in this case would be to download (manually) the DBD::Pg source
distribution and attempt a build via

perl Makefile.PL
make

This should display the command it's actually executing (instead of the
crap quoted above) and from there, it should be possible to work out
what's going on here, eg, by running a failing command via strace and
looking for libpq-fe.h related errors in the output.
Julian M
2014-05-19 22:12:58 UTC
Permalink
Thank you Rainer,
That strategy helped to solve the problem when I track it down the classical way. There was multiple copies of 'Driver.xst' found in the path.

Best regards, joe
Post by Rainer Weikusat
Post by j***@gmail.com
Could someone suggest what was wrong and how can I get by this?
As you've probably already guessed, this means it can't find the files
necessary for interfacing with Postgres. The directories you've entered
are almost certainly bogus and I strongly suspect that the first prompts
asking for 'the valid version' already occur because the files can't be
found. You will need to determine why it doesn't find them. What I'd do
in this case would be to download (manually) the DBD::Pg source
distribution and attempt a build via
perl Makefile.PL
make
This should display the command it's actually executing (instead of the
crap quoted above) and from there, it should be possible to work out
what's going on here, eg, by running a failing command via strace and
looking for libpq-fe.h related errors in the output.
Peter H. Coffin
2014-05-19 22:02:41 UTC
Permalink
Post by j***@gmail.com
I encounter a problem installing perl DBD::Pg on Ubuntu
with regard to Pg information.
Ubuntu_bash> sudo apt-get install postgresql-server-dev-9.1
and it's up running.
Ubuntu_bash> sudo cpan
CPAN> install DBD::Pg
................................................
Enter a valid PostgreSQL postgres major version number 9
Enter a valid PostgreSQL postgres minor version number 1
Enter a valid PostgreSQL postgres patch version number 13
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
Enter a valid PostgreSQL postgres bin dir /usr/lib/postgresql/9.1/bin/
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
Enter a valid PostgreSQL postgres include dir /usr/lib/postgresql/9.1/lib
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
Enter a valid PostgreSQL postgres library dir /usr/lib/postgresql/9.1/lib
PostgreSQL version: 90113 (default port: 5432)
................................................
Pg.h:35:22: fatal error: libpq-fe.h: No such file or directory
compilation terminated.
make: *** [Pg.o] Error 1
TURNSTEP/DBD-Pg-3.2.0.tar.gz
/usr/bin/make -- NOT OK
Could someone suggest what was wrong and how can I get by this?
CPAN isn't finding your postgres install. Where is your libpq-fe.h file?
What is output of

Ubuntu_bash> pg_config --includedir

?
--
59. I will never build a sentient computer smarter than I am.
--Peter Anspach's list of things to do as an Evil Overlord
Ralf Döblitz
2014-05-19 22:06:30 UTC
Permalink
Post by j***@gmail.com
I encounter a problem installing perl DBD::Pg on Ubuntu
with regard to Pg information.
Ubuntu_bash> sudo apt-get install postgresql-server-dev-9.1
and it's up running.
Ubuntu_bash> sudo cpan
CPAN> install DBD::Pg
................................................
Enter a valid PostgreSQL postgres major version number 9
Enter a valid PostgreSQL postgres minor version number 1
Enter a valid PostgreSQL postgres patch version number 13
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[...]
Post by j***@gmail.com
Pg.h:35:22: fatal error: libpq-fe.h: No such file or directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[...]
Post by j***@gmail.com
Could someone suggest what was wrong and how can I get by this?
DBD::Pg is a client-side application, so you need to install the
libpq-dev package (which is obviuosly missing, as the missing header
file indicates), not the package for server-side extensions.

Ralf
--
Wenn Du so minderbemittelt bist, daß Du es nötig hast, die Worte anderer
für Dich sprechen zu lassen, dann kann ich Dir meine Hilfe schlecht
versagen...
  – Thorsten Albers in <***@4ax.com>
Loading...