Pregunta

Estoy intentando compilar Perl 5.10 en mi servidor FreeBSD 7.1 (BSD), pero cuando ejecuto el script de configuración y respondo a las preguntas, aparece el siguiente error:

...POSTIX threads should be supported by FreeBSD 7.1 ... but your system is missing the shared libc_r.

La búsqueda de Google para la respuesta surgió con la instalación de gethostnamadr.c, que está bien, excepto por dos cosas:

  1. No sé dónde colocar este archivo y
  2. ¿Cómo resuelve esto mi problema si Configurar quiere ver libc_r?
¿Fue útil?

Solución

Para habilitar los hilos de Perl 5.10 en FreeBSD 7. * todo lo que tienes que hacer es aplicar el siguiente parche usando patch . Luego puede crear perl con -Dusethreads o responder a las preguntas del archivo Configurar para habilitar el subprocesamiento y estará listo para comenzar. No he realizado ninguna prueba o comparación significativa todavía, pero todo se compila bien, incluidas las libras de subprocesos y todos mis programas Perl funcionan bien.

--- hints/freebsd.sh 2008/10/20 04:59:30 1.1
+++ hints/freebsd.sh 2008/10/20 22:49:29
@@ -211,6 +211,14 @@
exit 1
;;

+ 7.*)
+ # 7.x doesn't install libc_r by default, and Configure
+ # would fail in the code following
+ #
+ # gethostbyaddr_r() appears to have been implemented in 6.x+
+ ldflags="-pthread $ldflags"
+ ;;
+
*)
if [ ! -r "$lc_r" ]; then
cat <<EOM >&4 

EDITAR: Olvidé mi referencia; consulte aquí para obtener más información: http: // www. gossamer-threads.com/lists/perl/porters/232518?nohighlight=1#232518 .

Otros consejos

Al contrario de Spolsky, quien dijo que "perl está prácticamente olvidado", perl está muy vivo.

No ha indicado qué versión de FreeBSD ha instalado ... Pero asumiendo que ha instalado un mínimo de FreeBSD 7.1, entonces no pudo instalar las bibliotecas de hilos o las bibliotecas de hilos no están en la ruta de la biblioteca.

TENGA EN CUENTA que libc es una biblioteca general 'c' y que libc_r es la versión segura para subprocesos de ese archivo. Algunos de los resultados de google de 2005 sugieren que libc_r ha quedado en desuso.

Teniendo esto en cuenta, es probable que estés en medio de una " colisión de revisión " ;. Lamentablemente, FreeBSD no proporciona la versión segura para subprocesos de Perl de forma nativa, sin embargo, sí ofrece el paquete Perl 5.10 y varias revisiones posteriores. Encontré este enlace útil:

http://www.nabble.com/How---where-to-get-a-Perl-that-has-threads--td22270858.html

También puede intentar instalar la biblioteca p5-fork que se incluye con FreeBSD

http://www.nabble.com/How---where-to-get-a-Perl-that-has-threads--td22270858.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top