Running Perl 5.10 cpan sur Solaris avec OpenCsw.org Packages, Makefile.pl à partir de packages ne peut pas trouver le chemin correct et CC (GCC). p>
J'ai trouvé le chemin pour le faire et la mettre à gmake, mais je ne trouve aucun réglage pour cc. p>
Je pensais que j'ai une fois défini ceci dans cpan / config.pm (ou avec O Config ...) mais ne peut plus trouver de réglage et ne pas avoir assez de patience pour faire tomber le fourré pour déterminer où une telle base chose devient défini. p>
Est-ce que quelqu'un sait? p>
3 Réponses :
cpan code> n'a pas besoin de savoir où
gcc code> ou équivalent est, car il n'est pas
cpan code> du travail de l'appelant directement . Habituellement, c'est
makfile.pl code> ou
build.pl code> qui doit savoir que, et il acceptera généralement le compilateur à utiliser comme argument de ligne de commande. Si vous ajoutez
perlmaincc = / compilateur / à / utiliser code> sur
o Conf makepl_arg code> qui devrait le faire. P>
Config.pm est l'endroit où cela est défini et déterminera ce que chaque makefile.pl voit. Mais vous avez répondu à ma question. Merci!
Les extensions doivent être construites avec les mêmes outils que Perl lui-même et Perl se souvient de ce que sont ces outils. P>
Si vous avez depuis supprimé ou que vous les avez déplacés, cela pourrait être un problème. P>
Mais plus probablement, vous n'avez pas installé le (s) paquet (s) de votre distribution qui leur fournit. Installez les paquets manquants. P>
Je suis sur Solaris 10 et ma distribution est opencsw.org. Perl 5.8 provient du paquet Solaris d'origine, mais Perl 5.10 qui est d'abord dans mon chemin provient d'OpenCsw. J'ai également installé GCC et GMake et peut les exécuter à partir de la ligne de commande.
A couru dans ce problème dans un environnement de cluster essayant de construire net :: ssleay où le système cc code> était trop vieux et n'a pas pris en charge l'option
-cstack-protector-forte code>. Réglage
make_arg code> à
cc = gcc code> (une version plus récente dans mon
$ chemin code>) était la solution correcte dans ce cas.