Скомпилировать 32-разрядную версию на 64-битной системе

Я пытаюсь скомпилировать 32-разрядную версию python в 64-разрядной системе ubuntu со следующей командой configure:

CC="gcc -m32" LDFLAGS="-L/lib32 -L/usr/lib32 \ -Lpwd/lib32 -Wl,-rpath,/lib32 \ -Wl,-rpath,/usr/lib32" \ ./configure --prefix=/opt/pym32

, затем make, make install. Нет ошибок, но это должно быть что-то неправильно, потому что «readelf -h python» говорит мне, что python был создан как ELF64.

2
задан 5 September 2011 в 16:52

12 ответов

Используйте «--build» и «--host».

./configure --help
System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Вам нужно использовать ./configure --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu для компиляции для 32-разрядного Linux в 64-разрядной системе Linux. Вам еще нужно добавить другие опции ./configure.

4
ответ дан 25 May 2018 в 18:58
  • 1
    tnx много! он отлично работает :) – Gabriele B 18 November 2011 в 14:13
  • 2
    «configure: error: readelf для хоста требуется для перекрестных сборок». Использование "locate" * -readelf '" дает только «/ usr / bin / x86_64-linux-gnu-readelf». Думаю, мне нужно найти пакет для установки, который включает i686-linux-gnu-readelf " ? – Jonathan Hartley 8 January 2016 в 06:30

Используйте «--build» и «--host».

./configure --help System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD]

Вам нужно использовать ./configure --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu для компиляции для 32-разрядного Linux в 64-разрядной системе Linux. Вам еще нужно добавить другие опции ./configure.

4
ответ дан 25 July 2018 в 21:22

Используйте «--build» и «--host».

./configure --help System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD]

Вам нужно использовать ./configure --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu для компиляции для 32-разрядного Linux в 64-разрядной системе Linux. Вам еще нужно добавить другие опции ./configure.

4
ответ дан 2 August 2018 в 03:01

Используйте «--build» и «--host».

./configure --help System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD]

Вам нужно использовать ./configure --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu для компиляции для 32-разрядного Linux в 64-разрядной системе Linux. Вам еще нужно добавить другие опции ./configure.

4
ответ дан 4 August 2018 в 18:51

Используйте «--build» и «--host».

./configure --help System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD]

Вам нужно использовать ./configure --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu для компиляции для 32-разрядного Linux в 64-разрядной системе Linux. Вам еще нужно добавить другие опции ./configure.

4
ответ дан 6 August 2018 в 03:14

Используйте «--build» и «--host».

./configure --help System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD]

Вам нужно использовать ./configure --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu для компиляции для 32-разрядного Linux в 64-разрядной системе Linux. Вам еще нужно добавить другие опции ./configure.

4
ответ дан 7 August 2018 в 20:55

Если вы хотите, чтобы компиляция была отлажена, вы должны опубликовать (в пасторе) свой подробный вывод из gcc. В противном случае это невозможно узнать.

Предлагаемое решение использования chroot может помочь вам, и Микко любезно предлагает ссылку, которая поможет пользователям использовать chroot для 32-битного python на 64-битной машине:

0
ответ дан 25 May 2018 в 18:58

Если вы хотите, чтобы компиляция была отлажена, вы должны опубликовать (в пасторе) свой подробный вывод из gcc. В противном случае это невозможно узнать.

Предлагаемое решение использования chroot может помочь вам, и Микко любезно предлагает ссылку, которая поможет пользователям использовать chroot для 32-битного python на 64-битной машине:

0
ответ дан 25 July 2018 в 21:22

Если вы хотите, чтобы компиляция была отлажена, вы должны опубликовать (в пасторе) свой подробный вывод из gcc. В противном случае это невозможно узнать.

Предлагаемое решение использования chroot может помочь вам, и Микко любезно предлагает ссылку, которая поможет пользователям использовать chroot для 32-битного python на 64-битной машине:

0
ответ дан 2 August 2018 в 03:01

Если вы хотите, чтобы компиляция была отлажена, вы должны опубликовать (в пасторе) свой подробный вывод из gcc. В противном случае это невозможно узнать.

Предлагаемое решение использования chroot может помочь вам, и Микко любезно предлагает ссылку, которая поможет пользователям использовать chroot для 32-битного python на 64-битной машине:

0
ответ дан 4 August 2018 в 18:51

Если вы хотите, чтобы компиляция была отлажена, вы должны опубликовать (в пасторе) свой подробный вывод из gcc. В противном случае это невозможно узнать.

Предлагаемое решение использования chroot может помочь вам, и Микко любезно предлагает ссылку, которая поможет пользователям использовать chroot для 32-битного python на 64-битной машине:

0
ответ дан 6 August 2018 в 03:14

Если вы хотите, чтобы компиляция была отлажена, вы должны опубликовать (в пасторе) свой подробный вывод из gcc. В противном случае это невозможно узнать.

Предлагаемое решение использования chroot может помочь вам, и Микко любезно предлагает ссылку, которая поможет пользователям использовать chroot для 32-битного python на 64-битной машине:

0
ответ дан 7 August 2018 в 20:55

Другие вопросы по тегам:

Похожие вопросы: