1

いくつかの異なるコンピューターに MacPorts を使用して PostgreSQL をインストールしましたが、問題はありませんが、自分のラップトップになるとビルドできません。

このコマンドを実行すると:

sudo port install postgresql83

次のエラーが表示されます。

checking test program... failed
configure: error:
Could not execute a simple test program.  This may be a problem
related to locating shared libraries.  Check the file 'config.log'
for the exact reason.

Error: The following dependencies failed to build: postgresql83
Error: Status 1 encountered during processing.

config.log ファイルの長さは 7000 行で、明らかな問題はありません (ただし、最後の行に「exit 1」と表示されています!)。

私は開発者ツールとインストールされていないものを持っています。最新バージョンの MacPorts に更新し、ポート ツリーを同期しました。MacPorts 経由で他のものをインストールできます。

これが何を意味するかについての詳細をグーグルで検索しましたが無駄でした。助言がありますか?ありがとう!

更新:これが失敗の原因だと思います(config.logから):

configure:8307: ./conftest
dyld: Library not loaded: /opt/local/lib/libxml2.2
  Referenced from: /opt/local/lib/libxslt.1.dylib
  Reason: image not found

私は libxml2 をインストールしましたが、おそらく失敗しています。libxml2 と libxslt をアンインストールし、それらを新たに再インストールするので、どうなるか見ていきます。

4

3 に答える 3

2

これが鍵でした:

configure:8307: ./conftest
dyld: Library not loaded: /opt/local/lib/libxml2.2
  Referenced from: /opt/local/lib/libxslt.1.dylib
  Reason: image not found

これは config.log の下部ではなく、700 行目あたりにありました。

libxml を適切なバージョンにアップグレード済みであるにもかかわらず (これは、以前に postgresql をインストールするときに対処しなければならなかった問題でした)、libxslt では機能しませんでした。

libxml(両方ともインストールしていたバージョン)とlibxsltをアンインストールしてからpostgresqlを再インストールしたところ、今回はビルドできました。

この postgresql のビルドのようなエラーが発生した場合は、ライブラリを確認してください。

ところで、config.log ファイルは次のような場所にあります。

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_databases_postgresql83/work/postgresql-8.3.6/config.log
于 2009-02-24T16:55:15.497 に答える
0

これは問題を解決しない答えだと思いますが、Mac ポートのファンではない Mac ユーザーとして、postgres をインストールするための別の解決策を探しました。少し前に、postgres Web サイトのダウンロード セクションで、 EnterpriseDB のワンクリック インストーラーの宣伝が開始されました。

過去にMacポート経由でインストールしようとしましたが、最終的にはソースから手動でインストールすることにしましたが、それは苦痛でした. このインストーラーはかなりいいです。実行可能ファイルを Mac に適した場所に配置し、そのライブラリを /Library に配置し、postgres での作業に役立ついくつかの追加プログラムも含めます。高品質のインストーラーが利用できる場合、不安定な mac ポートのインストールで髪を引っ張る必要はありません。

于 2009-03-02T05:31:04.467 に答える
0

postgresql83 は MacPorts のバージョン 8.3.6 です。それはあなたのコピーが動作しているのと同じバージョンですか? "port info postgresql83" それらが異なる場合は、"sudo port selfupdate && sudo port upgrade -u outdated && sudo port clean postgresql83" を実行してすべてを最新の状態にしてから、もう一度やり直してください。

私が見る限り、postgresql83 は libxml ではなく libxml2 に依存する必要があります。これはすでに MacPorts によって処理されているはずです。上記のコマンドをどちらの方法でも実行できます (依存関係が更新されていることを確認し、ディレクトリをクリーンアップして再試行してください)。

于 2009-02-24T21:21:06.560 に答える