我搜索了但没找到答案为什么我在安装时遇到错误:
$ sudo aptitude install postgresql-9.1 postgresql-contrib-9.1 python-pygresql libpq-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initialising package states... Done
The following NEW packages will be installed:
libossp-uuid16{a} postgresql-9.1 postgresql-common{a} postgresql-contrib-9.1 python-pygresql
0 packages upgraded, 5 newly installed, 0 to remove and 32 not upgraded.
Need to get 0B/7,463kB of archives. After unpacking 21.2MB will be used.
Do you want to continue? [Y/n/?] Y
Writing extended state information... Done
Preconfiguring packages ...
Selecting previously deselected package libossp-uuid16.
(Reading database ... 414497 files and directories currently installed.)
Unpacking libossp-uuid16 (from .../libossp-uuid16_1.6.2-1ubuntu1_amd64.deb) ...
Selecting previously deselected package postgresql-common.
Unpacking postgresql-common (from .../postgresql-common_133~lucid_all.deb) ...
Adding `diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common'
Selecting previously deselected package postgresql-9.1.
Unpacking postgresql-9.1 (from .../postgresql-9.1_9.1.4-1~lucid4_amd64.deb) ...
Selecting previously deselected package postgresql-contrib-9.1.
Unpacking postgresql-contrib-9.1 (from .../postgresql-contrib-9.1_9.1.4-1~lucid4_amd64.deb) ...
Selecting previously deselected package python-pygresql.
Unpacking python-pygresql (from .../python-pygresql_1%3a4.0-2_amd64.deb) ...
Processing triggers for ureadahead ...
Processing triggers for man-db ...
Setting up libossp-uuid16 (1.6.2-1ubuntu1) ...
Setting up postgresql-common (133~lucid) ...
"IN6ADDR_ANY" is not exported by the Socket module
Can't continue after import errors at /usr/share/postgresql-common/PgCommon.pm line 19
BEGIN failed--compilation aborted at /usr/share/postgresql-common/PgCommon.pm line 19.
Compilation failed in require at /usr/share/postgresql-common/run-upgrade-scripts line 18.
BEGIN failed--compilation aborted at /usr/share/postgresql-common/run-upgrade-scripts line 18.
"IN6ADDR_ANY" is not exported by the Socket module
Can't continue after import errors at /usr/share/postgresql-common/PgCommon.pm line 19
BEGIN failed--compilation aborted at /usr/share/postgresql-common/PgCommon.pm line 19.
Compilation failed in require at /usr/share/postgresql-common/pg_checksystem line 20.
BEGIN failed--compilation aborted at /usr/share/postgresql-common/pg_checksystem line 20.
Setting up postgresql-9.1 (9.1.4-1~lucid4) ...
**"IN6ADDR_ANY" is not exported by the Socket module
Can't continue after import errors at /usr/share/postgresql-common/PgCommon.pm line 19
BEGIN failed--compilation aborted at /usr/share/postgresql-common/PgCommon.pm line 19.
Compilation failed in require at /usr/bin/pg_createcluster line 19.
BEGIN failed--compilation aborted at /usr/bin/pg_createcluster line 19.
Error: could not create default cluster. Please create it manually with
pg_createcluster 9.1 main --start
or a similar command (see 'man pg_createcluster').**
update-alternatives: using /usr/share/postgresql/9.1/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode.
Setting up postgresql-contrib-9.1 (9.1.4-1~lucid4) ...
Setting up python-pygresql (1:4.0-2) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Processing triggers for python-central ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initialising package states... Done
Writing extended state information... Done
我不知道什么是IN6ADDR_ANY以及如何将其设置为由Socket模块导出。 我尝试在sudo add-apt-repository ppa之后在ubuntu 10.04上安装它:pitti / postgresql
答案 0 :(得分:3)
问题是Socket模块没有更新,旧版本的Socket没有导出IN6ADDR_ANY。 (参见/usr/lib/perl/5.12.4/Socket.pm)。我机器上的版本是1.87_01,该版本不导出IN6ADDR_ANY。最新版本是2.002。
问题可能是有人在打包新的postgresql-9.1 dpkg时忘记输入Socket 2.002作为依赖。
修复是更新Socket模块:
$ sudo apt-get install libsocket-perl
如果不适合您,请尝试通过cpan升级Socket:
$ sudo apt-get install cpan
$ sudo cpan Socket
编辑:
如果Socket不能通过上面的命令安装并且正在使用“BEGIN失败 - 编译在Makefile.PL第6行中止”消息进行轰炸,请运行:
$ sudo cpan ExtUtils::Constant
这将获得更新Socket所需的ExtUtils :: Constant v0.23。然后你应该能够运行:
$ sudo cpan Socket
没有问题。
答案 1 :(得分:0)
我使用了其他ppa并且它起作用了:
PPA:flexiondotorg / postgres的
要删除旧的,我用这种方式使用ppa-purge:
wget http://launchpadlibrarian.net/53004738/ppa-purge_0%2Bbzr46.1~lucid1_all.deb &&
sudo dpkg -i ppa-purge_0+bzr46.1~lucid1_all.deb
sudo ppa-purge ppa:pitti/postgresql
添加新的ppa:
sudo add-apt-repository ppa:flexiondotorg/postgres
sudo apt-get update
答案 2 :(得分:0)
为了解决这个问题,我将postgresql-client-common和postgresql-common的评级降级为之前的“130~lucid”版本。
幸运的是,这些软件包位于我的apt存档中,位于我的机器上的/ var / cache / apt / archives(运行Ubuntu 10.10)。
只需使用dpkg
安装它们sudo dpkg -i postgresql-client-common_130~lucid_all.deb
sudo dpkg -i postgresql-common_130~lucid_all.deb
答案 3 :(得分:0)
有趣的是,当我从postgres 8.4升级到9.1时,发生在我身上的同一天发生了其他人。 我有完全相同的问题,并在恰当的时间找到解决方案!
我在/usr/share/postgresql-common/PgCommon.pm中的行19和684到687就像有人(Billy Monk)昨天写的那样(显然现在更改或删除了他的帖子)。
它有效。
我现在将尝试更新套接字的解决方案。
非常感谢。
答案 4 :(得分:0)
这对我有用(在Ubuntu 10.04LTS上):
$ sudo apt-get update
$ sudo apt-get install libcpan-mini-perl
$ sudo cpan ExtUtils::Constant
$ sudo cpan Socket