Question

J'essaie de compiler Perl 5.10 sur mon serveur FreeBSD 7.1 (BSD), mais lorsque j'exécute le script de configuration et que je réponds aux questions, l'erreur suivante s'affiche:

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

googler pour la réponse est venu avec l’installation de gethostnamadr.c, ce qui est bien, sauf pour deux choses:

  1. Je ne sais pas où mettre ce fichier et
  2. Comment cela résout-il mon problème si Configure souhaite voir libc_r?
Était-ce utile?

La solution

Pour activer les threads Perl 5.10 sur FreeBSD 7. * tout ce que vous avez à faire est d’appliquer le correctif suivant en utilisant patch . Vous pouvez ensuite créer perl avec -Dusethreads ou répondre aux questions du fichier Configure afin d'activer les threads et vous êtes prêt à partir. Je n'ai pas encore effectué de tests ni de comparaisons significatifs, mais tout est bien compilé, y compris les bibliothèques de threads et tous mes programmes Perl fonctionnent correctement.

--- 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 

EDIT: j'ai oublié ma référence; Vérifiez ici pour plus d'informations: http: // www. gossamer-threads.com/lists/perl/porters/232518?nohighlight=1#232518 .

Autres conseils

Contrairement à Spolsky qui a dit "Perl est pratiquement oublié" ... Perl est très vivant.

Vous n'avez pas indiqué quelle version de FreeBSD vous avez installée ... Mais en supposant que vous avez installé une version minimale de FreeBSD 7.1, vous n'avez pas réussi à installer les bibliothèques de threads ou les bibliothèques de threads ne se trouvent pas dans le chemin d'accès à la bibliothèque.

NOTEZ que libc est une bibliothèque 'c' générale et que libc_r est la version thread-safe de ce fichier. Certains des résultats de Google de 2005 suggèrent que libc_r est obsolète.

Dans cet esprit, il est probable que vous vous trouviez au milieu d'une "collision de révision". Malheureusement, FreeBSD ne fournit pas la version threadée de perl en natif, cependant, ils font le paquet perl 5.10 et plusieurs versions ultérieures. J'ai trouvé ce lien utile:

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

vous pouvez aussi essayer d’installer la librairie p5-fork fournie avec FreeBSD

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top