Possiedo un sistema CentOS 6 a 64 bit che esegue una versione personalizzata di Perl 5.12.5, creata per 32 bit. (Ahimè, questo è perché stiamo usando gli stessi RPM per i sistemi a 32 bit e 64 bit.)Come si creano moduli XS a 32 bit per un Perl personalizzato a 32 bit su un sistema CentOS a 64 bit?
Quando compongo i moduli XS (ad es. JSON :: XS) sul server, fallisce perché sta costruendo 64- librerie di bit. Ottengo un errore come
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.
Ho provato a impostare la variabile CFLAGS a "-m32-bit", ma non funziona.
Cosa devo fare per compilare correttamente i moduli XS? Idealmente, mi piacerebbe qualcosa che funzioni con cpanminus ma, se necessario, può usare cpan o cpanplus.
dispari. Dovrebbe usare le stesse identiche impostazioni utilizzate per costruire Perl. – ikegami
@ikegami Il Perl è stato costruito su una macchina a 32 bit, quindi forse le impostazioni non hanno bisogno di essere esplicitate. – Rob
Correggi il tuo Perl rotto (ad esempio installalo correttamente) per risolvere il tuo problema. – ikegami