2012-04-22 14 views
0

Poststatをdebian squeezeにインストールしようとしています。 http://poststat.projects.postgresql.org このプロジェクトはあまり古いものではありませんが(2008年)、インストールにはいくつかの問題があります。それは本当に興味深いプロジェクトのようですが、Googleは空です。それは、公式ウェブサイト上で言われているように、統計機能をPostgresに追加するためのライブラリPostStatをインストールしようとしています

apt-get install fort77 postgresql-server-dev-8.4 libblas-dev liblapack-dev gfortran 

まず、tar.gz形式を解凍し、ディレクトリf77statと「メイクに行く:私は(postgresの8.4がインストールされている)私が何をしたかをまとめるためにここにしようとするでしょう'

libpq-devがインストールされている場合、debian squeezeには、/ usr/binに自身のpg_configもインストールされており、偽の情報が報告されます。 Poststatのメイクファイルは、pg_configを持ついくつかの情報を取得しているため

mv /usr/bin/pg_config pg_config_bak 
ln -s /usr/lib/postgresql/8.4/bin/pg_config pg_config 

これは重要です: 一つの解決策(http://postgresql.1045698.n5.nabble.com/Bug-report-Wrong-version-in-pg-config-td2123792.htmlを参照してください)。

は次にメインMakefileの行があります:

-lblas -llapack -lg2c 

はBLASとLAPACKのために、これらのパッケージをインストールします。

apt-get install libatlas-base-dev libatlas-dev libatlas-doc libatlas3gf-base 

今私の問題は、G2Cについてです。グーグルによると、g2cは廃止されているので、Makefileを編集して-lg2cを-lgfortrantに置き換えます。

最後のステップ: 新しい統計関数をコンパイルしてデータベースにインポートします。悲しいことに

make && sudo make install 
psql -f poststat.sql <database> 

psql:poststat.sql:18: ERROR: unable to load the library 
« /usr/lib/postgresql/8.4/lib/poststat.so » : /usr/lib/postgresql/8.4/lib/poststat.so: 
undefined symbol: s_stop 

任意の考え? fortranは私の世界ではなく、パッケージはfortranについてdebianに多くの変更をもたらしたようです。 -lg2cから-lgfortrantへの切り替えが間違っている可能性があります。実際にこのインクルードを削除すると、最後に同じエラーが発生します。

答えて

0

変更-lg2cは終了

int MAIN__(){ 
    return (0); 
} 
で、poststat.cに追加します
1

libg2cはg77(http://stackoverflow.com/questions/2406581/what-is-libg2c-library)に属しています。これは何年も前からサポートされていません。より最新のコンパイラに切り替えるには、このライブラリを置き換えるだけではありません。コンパイラも置き換える必要があります(例:gfortran)。 FORTRAN 77コードをコンパイルするには、gfortranのデフォルトのコンパイラー・オプションを変更する必要があります。私は-O2 -ffixed-form -ffixed-line-length-noneを使います。リンカーとしてgfortranを使用する場合、明示的にFortranランタイム・ライブラリーを組み込む必要はありません。 -lf2c

によって

関連する問題