1

インストール時にエラーが発生した理由を検索しましたが、答えが見つかりませんでした:

$ 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:pitti/postgresql の後に ubuntu 10.04 にインストールしようとしました

4

5 に答える 5

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 failed--compilation aborted at Makefile.PL line 6」というメッセージが表示されて爆発する場合は、次のコマンドを実行します。

$ sudo cpan ExtUtils::Constant

これにより、Socket の更新に必要な ExtUtils::Constant v0.23 が取得されます。その後、次を実行できるはずです。

$ sudo cpan Socket

問題なし。

于 2012-07-26T20:40:15.960 に答える
0

この問題を解決するために、postgresql-client-commonとpostgresql-commonを以前の「130〜lucid」バージョンにダウングレードしました。

幸いなことに、パッケージは私のマシン(Ubuntu 10.10を実行している)の/ var / cache / apt/archivesにある私のaptアーカイブにありました。

dpkgを使用してインストールするだけです

sudo dpkg -i postgresql-client-common_130~lucid_all.deb
sudo dpkg -i postgresql-common_130~lucid_all.deb
于 2012-07-26T20:20:01.977 に答える
0

私が postgres 8.4 から 9.1 にアップグレードしたときに、同じ日にこれが他の誰かに起こったというのはちょっとおかしいです。私はまったく同じ問題を抱えていて、ここでちょうどいいタイミングで解決策を見つけました!

/usr/share/postgresql-common/PgCommon.pm の 19 行目と 684 行目から 687 行目まで # 誰か (Billy Monk) が昨日書いたように (そして明らかに彼の投稿を変更または削除しました)。

そして、それはうまくいきました。

今すぐソケットを更新して解決策を試します。

どうもありがとう。

于 2012-07-27T07:54:48.640 に答える
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
于 2012-07-26T17:19:08.563 に答える
0

これは私にとってはうまくいきました( Ubuntu 10.04LTS で):

$ sudo apt-get update
$ sudo apt-get install libcpan-mini-perl
$ sudo cpan ExtUtils::Constant
$ sudo cpan Socket
于 2012-07-27T12:54:22.763 に答える