I have a 64-bit CentOS 6 system on which a custom version of Perl 5.12.5 is installed, which is built for 32-bit. (Alas, this is because we use the same RPMs for 32-bit and 64-bit systems.)
When I build XS modules (e.g. JSON :: XS) on the server, it fails because it creates 64-bit libraries. I get an error like
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.
I tried to set the CFLAGS variable to "-m32-bit", but it does not work.
What do I need to do to properly compile XS modules? Ideally, I would like something that works with cpanminus, but you can use cpan or cpanplus if necessary.
source share