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
これは通常、コンペアアンドスワップ命令に要約されます。これはv8では使用できませんが、v8 +以降のプロセッサでは使用できます。
./configure
呼び出し、関連する環境変数、または失敗した正確な場所(構成段階?コンパイル段階?)を表示しなかったため、何が問題なのかを判断するのは困難です。時々、v8 +をチェックするが、ひどく書かれていて失火するテストがあります。
最近のコンパイラのデフォルトはv8ではなくv8 +であるため、エラーが発生する理由は明らかではありません。何も設定しなかった場合は、v8 +バイナリ(32ビットビルドの場合)とv9バイナリ(64ビットビルドの場合)を取得する必要があります。
ビルドに-mcpu=v9
が必要であることを通知する場合は、それをCFLAGS
環境変数にエクスポートします。
ついにそれを実行しました。
以下の設定でコンパイルする必要があります。
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"