[SOLVED] Не собирается Python-3.6.5

Пожалуйста, наставьте на путь истинный, и помогите собрать питона (он нужен новому миру :) ).

Выдает вот такое:

Python build finished successfully!
The necessary bits to build these optional modules were not found:
nis
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

The following modules found by detect_modules() in setup.py, have been
built by the Makefile instead, as configured by the Setup files:
atexit                pwd                   time

Failed to build these modules:
cmath

running build_scripts
creating build/scripts-3.6
copying and adjusting /var/tmp/portage/dev-lang/python-3.6.5/work/Python-3.6.5/Tools/scripts/pydoc3 -> build/scripts-3.6
copying and adjusting /var/tmp/portage/dev-lang/python-3.6.5/work/Python-3.6.5/Tools/scripts/idle3 -> build/scripts-3.6
copying and adjusting /var/tmp/portage/dev-lang/python-3.6.5/work/Python-3.6.5/Tools/scripts/2to3 -> build/scripts-3.6
copying and adjusting /var/tmp/portage/dev-lang/python-3.6.5/work/Python-3.6.5/Tools/scripts/pyvenv -> build/scripts-3.6
changing mode of build/scripts-3.6/pydoc3 from 644 to 755
changing mode of build/scripts-3.6/idle3 from 644 to 755
changing mode of build/scripts-3.6/2to3 from 644 to 755
changing mode of build/scripts-3.6/pyvenv from 644 to 755
renaming build/scripts-3.6/pydoc3 to build/scripts-3.6/pydoc3.6
renaming build/scripts-3.6/idle3 to build/scripts-3.6/idle3.6
renaming build/scripts-3.6/2to3 to build/scripts-3.6/2to3-3.6
renaming build/scripts-3.6/pyvenv to build/scripts-3.6/pyvenv-3.6
make: *** [Makefile:596: sharedmods] Error 1
 * ERROR: dev-lang/python-3.6.5::gentoo failed (compile phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=dev-lang/python-3.6.5::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/python-3.6.5::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-lang/python-3.6.5/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/python-3.6.5/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lang/python-3.6.5/work/Python-3.6.5'
 * S: '/var/tmp/portage/dev-lang/python-3.6.5/work/Python-3.6.5'

Вывод emerge --info '=dev-lang/python-3.6.5::gentoo тут: https://pastebin.com/GcmgK0eB
Make.conf тут: https://pastebin.com/cWjHZCaf

Для питона заданы отдельные флаги оптимизации:

CFLAGS="-O2 -march=atom -mtune=atom -pipe --param l1-cache-line-size=64 --param l1-cache-size=24 --param l2-cache-size=512 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse"

Покажи

Покажи

cpuid2cpuflags
eselect python list

Ну и классическое: полный лог на пасту и покажи

emerge -uDN --with-bdeps=y @world -pv

после синхронизации портажа.

P. S. Рекомендую перейти на 64-битовую версию. 32-битовые системы практически умерли, и с большой степенью вероятности разработчики уже даже разбираться с 32-битными пакетами не будут!

#

# cpuid2cpuflags
CPU_FLAGS_X86: mmx mmxext sse sse2 sse3 ssse3
# eselect python list
Available Python interpreters, in order of preference:
  [1]   python3.6
  [2]   python3.7 (uninstalled)
  [3]   python2.7 (fallback)

P.S.: Ставил 3.7, чтобы посмотреть, соберется или нет. Собрался. 3.6.6 собираться отказался с тем же выводом, что и 3.6.5.

# emerge -uDN --with-bdeps=y @world -pv

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] dev-libs/expat-2.2.6::gentoo [2.2.5::gentoo] USE="unicode -examples -static-libs" 502 KiB
[ebuild   R    ] sys-process/psmisc-23.1-r1::gentoo  USE="X* nls -ipv6* (-selinux)" 0 KiB
[ebuild   R    ] net-misc/wget-1.20.1::gentoo  USE="nls pcre ssl zlib -debug -gnutls -idn -ipv6* -libressl -ntlm -static -test -uuid" 0 KiB
[ebuild     U ~] dev-lang/python-3.6.6:3.6/3.6m::gentoo [3.6.5:3.6/3.6m::gentoo] USE="gdbm ncurses readline ssl (threads) xml -bluetooth% -build -examples -hardened -ipv6* -libressl -sqlite -test -tk -wininst" 0 KiB
[ebuild   R    ] x11-libs/pixman-0.36.0::gentoo  USE="(-altivec) (-loongson2f) (-neon) -static-libs" CPU_FLAGS_X86="sse2* -mmxext -ssse3" 0 KiB
[ebuild   R    ] net-libs/libtirpc-1.0.2-r1:0/3::gentoo  USE="-ipv6* -kerberos -static-libs" 0 KiB
[ebuild   R    ] net-misc/curl-7.62.0::gentoo  USE="samba* ssl -adns -brotli -http2 -idn -ipv6 -kerberos -ldap -metalink -rtmp -ssh -static-libs -test -threads" CURL_SSL="openssl -axtls -gnutls -libressl -mbedtls -nss (-winssl)" 0 KiB
[ebuild  N     ] x11-libs/libXaw-1.0.13-r1::gentoo  USE="-deprecated -doc -static-libs" 0 KiB
[ebuild   R    ] net-misc/ntp-4.2.8_p12::gentoo  USE="readline samba* ssl threads -caps -debug -ipv6 -libressl -openntpd -parse-clocks (-selinux) -snmp -vim-syntax -zeroconf" 0 KiB
[ebuild   R    ] net-misc/openssh-7.7_p1-r9::gentoo  USE="X* pam pie ssl -X509 -audit -bindist -debug -hpn -kerberos -ldns -libedit -libressl -livecd -sctp (-selinux) -skey -static -test" 0 KiB
[ebuild   R    ] sys-apps/groff-1.22.3::gentoo  USE="X* -examples" 0 KiB
[ebuild   R    ] sys-boot/grub-2.02-r1:2/2.02-r1::gentoo  USE="fonts nls themes truetype* -debug -device-mapper -doc -efiemu (-libzfs) -mount -multislot -sdl -static (-test)" GRUB_PLATFORMS="-coreboot -efi-32 -efi-64 -emu -ieee1275 -loongson -multiboot -pc -qemu -qemu-mips -uboot -xen (-xen-32)" 0 KiB

Total: 12 packages (2 upgrades, 1 new, 9 reinstalls), Size of downloads: 502 KiB

Про лог не понял: что именно нужно?

P. S. Рекомендую перейти на 64-битовую версию. 32-битовые системы практически умерли, и с большой степенью вероятности разработчики уже даже разбираться с 32-битными пакетами не будут!

Как это грамотнее всего сделать, не начиная с нуля?

Сделай

dlumv написал(а):
# eselect python list
Available Python interpreters, in order of preference:
  [1]   python3.6
  [2]   python3.7 (uninstalled)
  [3]   python2.7 (fallback)

Сделай

eselect python set 3
eselect python set 2

чтобы поменять приоритеты

dlumv написал(а):
...
[ebuild     U ~] dev-lang/python-3.6.6:3.6/3.6m::gentoo [3.6.5:3.6/3.6m::gentoo] USE="gdbm ncurses readline ssl (threads) xml -bluetooth% -build -examples -hardened -ipv6* -libressl -sqlite -test -tk -wininst" 0 KiB
...
[ebuild   R    ] sys-boot/grub-2.02-r1:2/2.02-r1::gentoo  USE="fonts nls themes truetype* -debug -device-mapper -doc -efiemu (-libzfs) -mount -multislot -sdl -static (-test)" GRUB_PLATFORMS="-coreboot -efi-32 -efi-64 -emu -ieee1275 -loongson -multiboot -pc -qemu -qemu-mips -uboot -xen (-xen-32)" 0 KiB
...

1. Нестабильного питона ставить не стоит.
2. У тебя в /etc/portage/make.conf не хватает GRUB_PLATFORMS="pc"

dlumv написал(а):
Про лог не понял: что именно нужно?

То, что тебе говорила система с самого начала:

 * The complete build log is located at '/var/tmp/portage/dev-lang/python-3.6.5/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/python-3.6.5/temp/environment'.
dlumv написал(а):

P. S. Рекомендую перейти на 64-битовую версию. 32-битовые системы практически умерли, и с большой степенью вероятности разработчики уже даже разбираться с 32-битными пакетами не будут!

Как это грамотнее всего сделать, не начиная с нуля?

Никак. Смотри сюда.

?

SysA написал(а):
dlumv написал(а):
SysA написал(а):
P. S. Рекомендую перейти на 64-битовую версию. 32-битовые системы практически умерли, и с большой степенью вероятности разработчики уже даже разбираться с 32-битными пакетами не будут!

Как это грамотнее всего сделать, не начиная с нуля?

Никак. Смотри сюда.

Небезспорно: список установленных пакетов (+ повод для ревизии), список USE-флагов, stage3 amd64 позволяют практически без проблем воспроизвести систему.

:wq
--
Live free or die

Ты не учитываешь уровень

Ты не учитываешь уровень квалификации автора!

/var/tmp/portage/dev-lang/pyt

/var/tmp/portage/dev-lang/python-3.6.5/temp/build.log: https://pastebin.com/uwm831J7
/var/tmp/portage/dev-lang/python-3.6.5/temp/environment: https://pastebin.com/kUWmA4Bz

# eselect python list
Available Python interpreters, in order of preference:
  [1]   python3.6
  [2]   python2.7
  [3]   python3.7 (uninstalled)

GRUB_PLATFORMS="pc" добавил. Питона замаскировал обратно.

Питон собрался

В общем, питон собрался. Убрал флаги оптимизации:

-mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse"

Получилось так:

CFLAGS="-O2 -march=atom -mtune=atom -pipe --param l1-cache-line-size=64 --param l1-cache-size=24 --param l2-cache-size=512"

Хотя вроде бы, ничего особенного о_О

Я хотел было сказать, что у

Я хотел было сказать, что у тебя флаги сложноваты, но подумал, что может тебе так надо, а явных конфликтов вроде бы не видно.

К примеру, у меня всего лишь на всех (десктопы, ноуты) машинах:

CFLAGS="-march=native -O2 -pipe -fno-stack-protector"

.

В ошибке сборки конкретной версии конкретного пакета с некоторым конкретным, формально легитимным набором CFLAGов нет ничего удивительного.
Даже в моей практике есть один такой эпизод.

Отсюда вывод: не полениться проверить ошибку на своей стороне, в случае отсутствия — заглянуть в багзиллу.

:wq
--
Live free or die

Как бы вам сказать... Это

Как бы вам сказать... Это нетбук с 1ГБ памяти (максимум можно затолкать 2ГБ), на базе Intel Atom N570. Цель - максимально оптимизировать, чтобы можно было более-менее комфортно работать на столь слабом железе.

Ориентировался на следующие статьи:
https://www.calculate-linux.ru/boards/16/topics/10988
https://habr.com/ru/company/intel/blog/188386/
https://habr.com/ru/company/intel/blog/158939/
https://habr.com/ru/company/intel/blog/112151/

На более мощных машинах - да, флагами можно более-менее пренебречь, избыточная производительность железа сгладит все углы.

Практика показывает, что

Практика показывает, что подобная оптимизация - миф! Реально выжимаются единицы процентов в лучшем случае.
Куда эффективнее правильный выбор и настройка файловой системы, размещение кэшей браузеров, портажа и прочих часто используемых подсистем (/tmp, /var/tmp, etc) в ОЗУ (для тебя не вариант, наверное) и т.п.

.

SysA написал(а):
Куда эффективнее правильный выбор и настройка файловой системы, размещение кэшей браузеров, портажа и прочих часто используемых подсистем (/tmp, /var/tmp, etc) в ОЗУ (для тебя не вариант, наверное) и т.п.

По-моему самое время хотя бы попытаться формализовать своё опыт в вопросе выбора файшловой системы и, сугубо, её оптимизации.

:wq
--
Live free or die

По этому поводу в Интернете полно инфы

Проблема в том, что нет универсальных рекомендаций на все случаи жизни. Очень все зависит от конкретных условий и целей применения, а также используемого железа и софта.

Общая рекомендация одна: сначала сбор статистики, поиск узких мест, а потом анализ и поиск оптимального решения для конкретной системы и/или класса/группы систем.

/

СПН!
Ещё Брукс сформулировал.

Касаемо же задачи сбора статистики — ты явно и совершенно напрасно пропустил историю лженауки-кибернетики.
Результат либо зело фрагментарный и почти ниочём, либо сам процесс сбора и регистрации статистики радикальным образом отражается на производительности системы (и как следствие — в исходных данных статистики).

Проблему современной науки помнишь?

:wq
--
Live free or die

синдром печёночной

синдром печёночной недостаточности?.. ;)

.

SysA написал(а):
синдром печёночной недостаточности?.. ;)

Совсем не оно.

:wq
--
Live free or die

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".