2009-05-23 16 views
8

He buscado todos los resultados de Google, lea todas las publicaciones en el foro acerca de este error, pero no puedo resolverlo.instalación de PECL falla

Cuando se utiliza PECL instalar para cualquier cosa, siempre termino conseguir este error:

checking whether the C compiler works... configure: error: cannot run C compiled programs. 

Todo lo demás tiene éxito hasta ese momento ellos BAM!

Estoy usando CentOS 4.3, PEAR es la última versión estable, GCC es una versión estable y reciente. Todo funciona como debería, pero el compilador de C siempre parece tener errores. He tratado de hacer tmp tiene los privilegios que adecuadas para el funcionamiento permitiendo que temporalmente usando:

mount -o remount,exec,suid /tmp 

Pero eso no funciona.

Literalmente he intentado todo lo que se ha sugerido en vano. ¿Algunas ideas?

+0

Bump? Realmente necesito ayuda aquí chicos! ¿Alguien tiene más ideas? – James

+0

Pregunta obvia. * ¿Puedes * ejecutar programas compilados en C? ¿Has compilado una aplicación de hello-world (o cualquier otra cosa)? echo 'int main() {printf ("¡Hola, mundo! \\ n");}' | gcc -xc - -o hello && ./hello –

+0

Pero sí, estoy seguro de que puede ejecutar aplicaciones compiladas en C, cuando no Usando PECL, he compilado una cantidad de otras aplicaciones. – James

Respuesta

7
cd ~ 
mkdir setups 
cd setups 
wget http://pecl.php.net/get/APC-3.1.2.tgz 
tar -xvf APC-3.1.2.tgz 
cd APC-3.1.2 
phpize && ./configure --with-apxs && make 

Lo escribí rápidamente y pude instalar APC con un poco de trabajo manual. Como copiar el módulo a los módulos de PHP y agregar la extensión a php.ini. Funciona perfectamente ahora

+0

Esto me ha funcionado, instalar la extensión oauth que primero necesitaba instalar: pcre-d, hice esto con: yum install pcre pcre-d. Solo en caso de que alguien tenga el mismo problema. –

9

estoy en Centos 5.3 y yo era capaz de conseguir los instaladores ejecutan PECL (APC en mi caso) con éxito mediante la eliminación de la bandera noexec tanto en/tmp y/var/tmp

mount -o remount,exec,suid /tmp 
mount -o remount,exec,suid /var/tmp 

Hacer esto solo en/tmp no funcionó - Todavía recibí el error "verificando si el compilador C funciona ... configure: error: no se pueden ejecutar programas compilados en C".

Recuerde ejecutar estos montajes nuevamente con noexec una vez que finalice su instalación.

+0

me acabas de salvar la vida ... – kubilay

2

Cuando tuve problemas similares al instalar el controlador de MongoDB, esto funcionó para mí:

sudo mkdir /root/tmp.pear 
sudo mkdir /root/tmp.pear-build-root 

sudo ln -s /root/tmp.pear /tmp/pear 
sudo ln -s /root/tmp.pear-build-root /tmp/pear-build-root 

continuación:

sudo sudo pecl install XXX 

(Esto no se abre un agujero de seguridad debido a que sólo root puede crear ejecutables en esos dos directorios.)

Tenga en cuenta que lo siguiente no no trabajo para PECL:

sudo pear config-set temp_dir /var/tmp/pear/temp 
Cuestiones relacionadas