我在Solaris 10上使用--enable-fpm编译PHP(sun4v sparc SUNW,Sun-Fire-T1000),然后停止
#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:
configuration标志是 –
./configure –enable-fpm
它通常归结为比较和交换指令,这在v8中是不可用的,但在v8 +和更新的处理器中是可用的。
很难说出什么问题,因为你没有显示你的./configure调用,相关的环境variables,也没有显示出错的地方(configuration阶段?编译阶段?)。 有时会有一个testing,检查V8 +,但是写得不好,失误。
这不是很明显,为什么错误会引发,因为编译器现在默认为v8 +,而不是v8。 如果你没有设置任何东西,你应该得到一个V8 +二进制文件(对于32位版本)和V9二进制文件(对于64位版本)。
如果要发信号通知您想要的构build-mcpu=v9 ,请将其导出到CFLAGS环境variables中。
终于搞定了。
需要使用以下设置进行编译。
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"