Mam 64-bitowy system CentOS 6 z niestandardową wersją Perla 5.12.5, który jest zbudowany dla 32-bitów. (Niestety, dlatego, że używamy tych samych RPM dla systemów 32-bitowych i 64-bitowych.)Jak zbudować 32-bitowe moduły XS dla 32-bitowego niestandardowego Perla w 64-bitowym systemie CentOS?
Kiedy buduję moduły XS (np. JSON :: XS) na serwerze, to się nie powiedzie, ponieważ buduje się 64- biblioteki bitowe. I pojawia się błąd jak
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.
Próbowałem ustawienie zmiennej CFLAGS do "-m32-bit", ale to nie działa.
Co muszę zrobić, aby poprawnie skompilować moduły XS? Idealnie, chciałbym coś, co działa z cpanminus, ale może użyć cpan lub cpanplus w razie potrzeby.
dziwne. Powinien używać dokładnie tych samych ustawień, które zostały użyte do zbudowania Perla. – ikegami
@ikegami Perl został zbudowany na maszynie 32-bitowej, więc być może ustawienia nie musiały być wyraźne. – Rob
Napraw uszkodzony złamany Perl (tj. Zainstaluj go prawidłowo), aby rozwiązać problem. – ikegami