Я едва знаком с перлбрю. Я думаю, мне нужно использовать --sitecustomize $ filename, но я не могу найти примеры этого файла в любом месте. Я понятия не имею, что добавить в файл. У кого-нибудь есть образец, на который я могу посмотреть?Как скомпилировать 32-битный Perl на 64-битной машине Linux, используя perlbrew?
ответ
Там есть вводная статья на сайте perlbrew для использования файла sitecustomize http://perlbrew.pl/Install-a-sitecustomize.pl-file-with-perlbrew.html
Однако я не думаю, что этот файл относится к построению 32bit Perl на 64-битной системе. Фактически, на данный момент это не представляется возможным, цитируя файл INSTALL:
Натурально 64-разрядные системы не нуждаются ни в Duse64bitint, ни в -Duse64bitall. В этих системах это может быть режим компиляции по умолчанию, и там в настоящее время не гарантирует, что передача без использования опции 64bitall в процессе конфигурирования приведет к созданию 32-битного perl. Реализация -Duse32bit * вариантов планируется для будущего выпуска perl.
Это, казалось, работать для меня, на Centos 5.6 и Centos 6.2 (оба 64-битной):
$ perlbrew install 5.8.9 -Accflags="-m32 -march=i686" -Aldflags="-m32 -march=i686" -Alddlflags="-shared -m32 -march=i686"
Испытано с 5.8.9 и 5.12.4.
Предостережение: perl все еще записывается archname = x86_64-linux и используется для архивных каталогов в скомпилированном в @INC. Это бородавка, но содержимое 32-бит.
Используйте параметр -Darchname =
Такая же проблема здесь, не удалось как для 5.12.4, так и для 5.14.2. Я устанавливаю 'export CC =" gcc -m32 "' как [предложенный Джонатаном Леффлером] (http://stackoverflow.com/a/216090/269126), но безрезультатно, переменная не была захвачена сборкой perlbrew техника. – Lumi