web-dev-qa-db-ja.com

SolarisでのコンパイルPHP

Solaris 10(Sun4v sparc SUNW、Sun-Fire-T1000)でPHP with --enable-fpmをコンパイルしていますが、で停止します

#error Sparc v8 and predecessors are not and will not be supported (see bug report 53310)

エラーに続いて、私が持っているCPUはv9ですか?エラーが発生するのはなぜですか? -mcpu=v9を含めるようにコンパイルをどのように通知する必要がありますか?それは役に立ちますか?

編集:

5.3.8と最新の5.4.7の両方をコンパイルしようとしましたが、両方でエラーが表示されます。 PHPそしてPHP-CGIは正常にコンパイルされます。

Edit2:

構成フラグは-

./configure --enable-fpm

1
RedNax

これは通常、コンペアアンドスワップ命令に要約されます。これはv8では使用できませんが、v8 +以降のプロセッサでは使用できます。

./configure呼び出し、関連する環境変数、または失敗した正確な場所(構成段階?コンパイル段階?)を表示しなかったため、何が問題なのかを判断するのは困難です。時々、v8 +をチェックするが、ひどく書かれていて失火するテストがあります。

最近のコンパイラのデフォルトはv8ではなくv8 +であるため、エラーが発生する理由は明らかではありません。何も設定しなかった場合は、v8 +バイナリ(32ビットビルドの場合)とv9バイナリ(64ビットビルドの場合)を取得する必要があります。

ビルドに-mcpu=v9が必要であることを通知する場合は、それをCFLAGS環境変数にエクスポートします。

1
automatthias

ついにそれを実行しました。

以下の設定でコンパイルする必要があります。

export CC=gcc
export CFLAGS="-m64"
export CXX=gcc
export CXXFLAGS="-m64"
export LDFLAGS="-m64 -L/lib/64 -L/usr/sfw/lib/64"
export LD_LIBRARY_PATH="/usr/local/lib/sparcv9/:/usr/local/lib:/usr/local/Apache2/lib:/usr/sfw/lib/sparcv9:/usr/local/lib/sparcv9:/usr/lib/sparcv9"
export LDFLAGS="-lrt"
1
RedNax