Compilando o PHP no Solaris

1

Estou compilando PHP com --enable-fpm no Solaris 10 (sun4v sparc SUNW, Sun-Fire-T1000) e ele para em

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

Seguindo o erro, a CPU que eu tenho é uma v9? Por que o erro está ocorrendo? Como a compilação deve ser sinalizada para incluir um -mcpu=v9 ? Isso ajudaria?

Editar:

Eu tentei compilar o 5.3.8 e o mais recente 5.4.7 - e o erro aparece para ambos. PHP e PHP-CGI compilam bem.

Editar2:

O sinalizador de configuração é -

./ configure --enable-fpm

    
por RedNax 27.09.2012 / 12:22

2 respostas

1

Geralmente resume-se à instrução de comparação e troca, que não está disponível na versão 8, mas está disponível nos processadores v8 + e mais recentes.

É difícil dizer o que está errado, porque você não mostrou sua ./configure invocação, variáveis de ambiente relevantes, nem o lugar exato onde ela falha (etapa de configuração? fase de compilação?). Às vezes, há um teste que verifica a v8 +, mas está mal escrito e falha no disparo.

Não é óbvio por que o erro é acionado, porque os compiladores usam o padrão v8 + nos dias de hoje, e não a v8. Se você não definiu nada, deverá obter um binário v8 + (para uma compilação de 32 bits) e um v9 binário (para uma compilação de 64 bits).

Se você deseja sinalizar a compilação que deseja -mcpu=v9 , exporte-a na variável de ambiente CFLAGS .

    
por 28.09.2012 / 01:29
1

Finalmente funcionou.

Necessário para compilar com as seguintes configurações.

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"
    
por 04.10.2012 / 05:39