1

PL/R を Mountain Lion 10.8.2 にインストールしようとしています。r-project から R 2.15.3 をインストールし、KyngChaos から PostgreSQL 9.1 をインストールしました。http://www.joeconway.com/plr/から PL/R 8.3.0.14 を入手しました。展開したフォルダーを /usr/local/pgsql/share/contrib に置き、そのフォルダーに cd しました。

環境変数 $R_HOME および $CUSTOM_COPT は、http://www.joeconway.com/web/guest/pl/r/-/wiki/Main/Installation_Macの指示に従って.bash_profile に書き込むことで設定され、/library も追加されます。 /frameworks/r.framework/resources/bin を同じファイルに書き込んでパスに追加します。

XCode 4.6 とコマンド ライン ツールがインストールされます。stdio.h を含む標準 C ヘッダー ファイルの複数のコピーがあります。たとえば、/usr/include/stdio.h があります。

次のステップは次のようです。

DiMac:plr duncan$ make    
Makefile:40: ../../src/Makefile.global: No such file or directory
Makefile:41: /contrib/contrib-global.mk: No such file or directory
make: *** No rule to make target `/contrib/contrib-global.mk'.  Stop.

それはうまくいきませんでした。

DiMac:plr duncan$ make USE_PGXS=1
gcc -Os -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -D_FILE_OFFSET_BITS=64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -arch x86_64  -I"." -I"-I/library/frameworks/r.framework/resources/include" -I/library/frameworks/r.framework/resources/include -I. -I. -I/usr/local/pgsql-9.1/include/server -I/usr/local/pgsql-9.1/include/internal -I/usr/include/libxml2 -DPKGLIBDIR=\"/usr/local/pgsql-9.1/lib\" -DDLSUFFIX=\".so\" -DR_HOME_DEFAULT=\"/library/frameworks/r.framework/resources\"  -c -o plr.o plr.c
In file included from /usr/local/pgsql-9.1/include/server/postgres.h:47,
                 from plr.h:38,
                 from plr.c:33:
/usr/local/pgsql-9.1/include/server/c.h:67:19: error: stdio.h: No such file or directory
/usr/local/pgsql-9.1/include/server/c.h:68:20: error: stdlib.h: No such file or directory
...

そして、より多くのエラーをページングします。

make-isysrootが標準ヘッダーファイルの間違った場所を探しているようで、それらを見つけることができないようです。この/developer.../macosx10.6.sdkパスは私のマシンには存在しません。これは、現在のバージョンの Xcode の標準であると考えています。

だから、質問:

このフラグは/plr 内のMakefileによって何らかの方法で設定されていますか、それとも別の場所で設定されていますか? いずれにせよ、 makeが必要なヘッダー ファイルを見つけられるように変更するにはどうすればよいでしょうか。それを変更することが本当に正しいことなのですか?

4

2 に答える 2

0

私は自分の質問に対する解決策をなんとかしました。多分誰かがそれを片付けるのを手伝ってくれるでしょうか?

make USE_PGXS=1一連のフラグをフォーマットし、計算したフラグでgccを呼び出します。そのため、上記の行をコピーして貼り付け、gcc...その後のパスを-isysroot標準のヘッダー ファイルがある場所に変更しました。その後、コマンドは適切に実行され、指示されたファイルをコンパイルします。

完全なセットが存在するまで、コンパイルするファイルごとに 1 回ずつ、これを数回実行し、make install代わりに を使用して演習を繰り返す必要がありました。

これを何度も実行した後、必要な共有オブジェクトを適切な場所に配置し、Joe Conway の wiki の指示に従って作業を再開しました。

それは今うまくいきます。-isysroot設定を永続的に停止/変更する方法を知っておくとよいでしょう。

于 2013-03-19T18:35:25.693 に答える
0

私は MacPorts の postgresql92 +python +perl バリアント (以前に PostgreSQL を自分でコンパイルした後) を使用しており、3 台のコンピューターで行った最近のビルドのそれぞれで問題なく動作しました: http://iangow.wordpress.com/2013/06/26 /install-plr-on-os-x-10-8-4-using-macports/ (以前のプロセスの説明: http://iangow.wordpress.com/2012/05/21/plr-on-os- x/ )。

于 2013-07-16T00:06:20.473 に答える