J'ai un système CentOS 6 64 bits qui exécute une version personnalisée de Perl 5.12.5, qui est construite pour 32 bits. (Hélas, c'est parce que nous utilisons les mêmes RPM pour les systèmes 32 bits et 64 bits.)Comment créer des modules XS 32 bits pour un Perl personnalisé 32 bits sur un système CentOS 64 bits?
Lorsque je crée des modules XS (par exemple JSON :: XS) sur le serveur, il échoue car il est en construction 64- bibliothèques de bits. Je reçois une erreur comme
Can't load '.cpanm/work/1370279501.28897/JSON-XS-2.33/blib/arch
/auto/JSON/XS/XS.so' for module JSON::XS: .cpanm/work/137027950
1.28897/JSON-XS-2.33/blib/arch/auto/JSON/XS/XS.so: wrong ELF class: ELFCLASS64
at /opt/perl/lib/5.12.5/i686-linux/DynaLoader.pm line 200.
J'ai essayé de placer la variable CFLAGS à « -m32 bits » mais il ne fonctionne pas.
Que dois-je faire pour compiler correctement les modules XS? Idéalement, j'aimerais quelque chose qui fonctionne avec cpanminus mais qui peut utiliser cpan ou cpanplus si besoin est.
Odd. Il devrait utiliser exactement les mêmes paramètres que ceux utilisés pour construire Perl. – ikegami
@ikegami Le Perl étant construit sur une machine 32 bits, il n'est peut-être pas nécessaire d'expliciter les paramètres. – Rob
Réparer votre Perl cassé (c'est-à-dire l'installer correctement) pour résoudre votre problème. – ikegami