LINUX.ORG.RU

Неудачный переход c python_targets_python3_7 на python_targets_python3_9

 , ,


1

1

Каюсь, пропустил сообщение о переходе на 3.8 и решил сразу обновиться в 3.9. На команду emerge -auUD @world при отсутствии упоминания python_target в make.conf никаких ошибок или замаскированных пакетов не было (всего обновлялось порядка 500 пакетов за раз), однако, при обновлении qemu выяснилось, что sphinx работает на слишком старой версии python, что вызвало ошибку portage. Теперь при вызове portage (да и других программ) выскакивает ошибка

emerge: no python-exec wrapped executable found in /usr/lib/python-exec.

Я, конечно, начал вызывать программы с помощью команды /usr/lib/python-exec/python3.7/emerge, но проблемы это не решает. Конфликт зависимостей на месте.

При попытке замаскировать qemu получается следующее

sudo /usr/lib/python-exec/python3.7/emerge -auUD @world

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

Calculating dependencies... done!

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-lang/perl:0

  (dev-lang/perl-5.32.1:0/5.32::gentoo, ebuild scheduled for merge) USE="berkdb gdbm -debug -doc -ithreads -minimal" ABI_X86="(64)" pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (dev-lang/perl-5.30.3:0/5.30::gentoo, installed) USE="berkdb gdbm -debug -doc -ithreads" ABI_X86="(64)" pulled in by
    dev-lang/perl:0/5.30=[-build(-)] required by (dev-perl/Package-Stash-XS-0.280.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)"
                 ^^^^^^^^                                                                                                                                                                                       
    (and 55 more with the same problem)

dev-libs/icu:0

  (dev-libs/icu-69.1:0/69.1::gentoo, ebuild scheduled for merge) USE="-debug -doc -examples -static-libs" ABI_X86="32 (64) (-x32)" pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (dev-libs/icu-68.2:0/68.2::gentoo, installed) USE="-debug -doc -examples -static-libs" ABI_X86="32 (64) (-x32)" pulled in by
    >=dev-libs/icu-67.1:0/68.2= required by (dev-lang/spidermonkey-78.10.1:78/78::gentoo, installed) USE="jit -clang -debug -lto -test" ABI_X86="(64)"
                       ^^^^^^^^                                                                                                                                                                                                                                                                             
    (and 1 more with the same problem)

app-text/poppler:0

  (app-text/poppler-21.05.0:0/110::gentoo, ebuild scheduled for merge) USE="cairo cxx introspection jpeg jpeg2k lcms nss png qt5 tiff utils -cjk -curl -debug -doc" ABI_X86="(64)" pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (app-text/poppler-21.02.0:0/107::gentoo, installed) USE="cairo cxx introspection jpeg jpeg2k lcms nss png qt5 tiff utils -cjk -curl -debug -doc" ABI_X86="(64)" pulled in by
    >=app-text/poppler-0.32:0/107=[cxx,jpeg,lcms,tiff,utils] required by (net-print/cups-filters-1.28.7:0/0::gentoo, installed) USE="dbus foomatic jpeg pdf png postscript tiff -ldap -pclm -perl -static-libs -test -zeroconf" ABI_X86="(64)"
                           ^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

media-libs/libheif:0

  (media-libs/libheif-1.12.0:0/1.12::gentoo, ebuild scheduled for merge) USE="aom threads x265 -gdk-pixbuf -go -libde265 -rav1e -test" ABI_X86="(64) -32 (-x32)" pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (media-libs/libheif-1.11.0:0/1.11::gentoo, installed) USE="aom threads x265 -gdk-pixbuf -go -libde265 -rav1e -test" ABI_X86="(64) -32 (-x32)" pulled in by
    >=media-libs/libheif-1.3.2:0/1.11= required by (media-gfx/gimp-2.10.22-r2:0/2::gentoo, installed) USE="aalib alsa heif openexr udev (-aqua) -debug -doc -gnome -jpeg2k -mng -postscript -test -unwind -vector-icons -webp -wmf -xpm" ABI_X86="(64)" CPU_FLAGS_X86="mmx sse"
                              ^^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

dev-libs/boost:0

  (dev-libs/boost-1.76.0-r1:0/1.76.0::gentoo, ebuild scheduled for merge) USE="bzip2 icu nls python threads zlib -context -debug -doc -lzma -mpi (-numpy) -static-libs -tools -zstd" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python3_9 -python3_8" pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (dev-libs/boost-1.75.0:0/1.75.0::gentoo, installed) USE="bzip2 icu nls python threads zlib -context -debug -doc -lzma -mpi (-numpy) -static-libs -tools -zstd" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python3_7 -python3_8 -python3_9" pulled in by
    dev-libs/boost:0/1.75.0=[nls] required by (games-strategy/vcmi-0.99_p20200509:0/0::localrepo, installed) USE="launcher -editor -erm" ABI_X86="(64)"
                  ^^^^^^^^^^                                                                                                                                                                                                                                           

NOTE: Use the '--verbose-conflicts' option to display parents omitted above

It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


!!! All ebuilds that could satisfy ">=dev-lang/python-exec-2:2/2=[python_targets_python3_7(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/python-exec-2.4.8::gentoo (masked by: ~amd64 keyword)
- dev-lang/python-exec-2.4.7::gentoo (masked by: ~amd64 keyword)

(dependency required by "dev-libs/boost-1.75.0::gentoo" [installed])
(dependency required by "@__auto_slot_operator_replace_installed__" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

Так вот, вопросы: что делать в такой ситуации? Как дообновляться? --deepclean не делал, может есть возможность откатиться на предыдущие версии?



Последнее исправление: towe (всего исправлений: 5)

сначала по заявленной проблеме. qemu можно собирать без sphinx, USE=«-doc».
sphinx нормально должен собираться с python3.9 PYTHON_COMPAT=( python3_{7..10} pypy3 )

по закосяченному portage. Надо переустановить python-exec. /usr/lib/python-exec/python3.7/emerge -av python-exec.

И еще по выхлопу используетя python3.7. emerge –info какой python_targets показывает? Я еще месяц назад обновился до python3.9, было несколько пакетов без поддержки(помню, что vim и еще что-то). Сейчас уже поправили.

arrecck ★★★
()

Посмотри вывод eselect python, попробуй поменять на тот,с которым собран portage и, может быть, даже выполнить какой-нить eselect python clean.

grem ★★★★★
()
Ответ на: комментарий от arrecck

сначала по заявленной проблеме. qemu можно собирать без sphinx, USE=«-doc».

Ой, точно. Сейчас попробую

sphinx нормально должен собираться с python3.9 PYTHON_COMPAT=( python3_{7..10} pypy3 )

Дело в том, что я долго не обновлялся и поддержка 3.7 из новых версий пакетов уже выпилена, а старые собраны с поддержкой этой версии и никакой другой

Надо переустановить python-exec. /usr/lib/python-exec/python3.7/emerge -av python-exec

Сделал. Verbose следующий:

[ebuild   R    ] dev-lang/python-exec-2.4.6-r4:2::gentoo  USE="(native-symlinks)" PYTHON_TARGETS="(pypy3) (python3_8) (python3_9) (-python3_10)"

Результат:

user@localhost ~ $ emerge 
emerge: no python-exec wrapped executable found in /usr/lib/python-exec.

И еще по выхлопу используетя python3.7. emerge –info какой python_targets показывает?

3.9

towe
() автор топика

Типичное явление в генте с современным развесистым графом зависимости. Тут только закатывать рукава и через -O ставить пакеты.

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

Update: уууу, я дальше не читал, ты сам portage упорол. Тут только из бинарного пакета распаковывать

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)

Мне недавно прилетела такая же лажа, это вместе намешанные апдйеты питона, перла, буста и пр.

Сначала почини питон и emerge, кто-то может уже поможет в треде, на крайняк есть офф тарбол по починке emerge.

Потом попробуй замаскировать апдейты питона и буста, и обнови спокойно перл. После этого обнови буст/icu, затем уже размаскируй питон и переходи на новый питон.

Gary ★★★★★
()
Ответ на: комментарий от Pinkbyte

обновление через emerge -auUD @world пошло. С помощью совета выше удалось миновать ошибку сборки qemu. Попробую так и оставить, авось сработает)

towe
() автор топика
Ответ на: комментарий от grem
sudo eselect python list
Пароль: 
Available Python interpreters, in order of preference:
  [1]   python3.8
  [2]   python3.9

Это при том, что python3.7 у меня установлен, проверял

towe
() автор топика

Не получилось. glibmm поднимает ошибку без сообщения

>>> Emerging (3 of 432) dev-cpp/glibmm-2.66.1::gentoo
 * glibmm-2.66.1.tar.xz BLAKE2B SHA512 size ;-) ...                                 [ ok ]
 * Using python3.9 to build
>>> Unpacking source...
>>> Unpacking glibmm-2.66.1.tar.xz to /var/tmp/portage/dev-cpp/glibmm-2.66.1/work
>>> Source unpacked in /var/tmp/portage/dev-cpp/glibmm-2.66.1/work
>>> Preparing source in /var/tmp/portage/dev-cpp/glibmm-2.66.1/work/glibmm-2.66.1 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-cpp/glibmm-2.66.1/work/glibmm-2.66.1 ...
 * abi_x86_64.amd64: running multilib-minimal_abi_src_configure
meson setup --buildtype plain --libdir lib64 --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload --build.pkg-config-path /var/tmp/portage/dev-cpp/glibmm-2.66.1/temp/python3.9/pkgconfig:/usr/share/pkgconfig --pkg-config-path /var/tmp/portage/dev-cpp/glibmm-2.66.1/temp/python3.9/pkgconfig:/usr/share/pkgconfig --native-file /var/tmp/portage/dev-cpp/glibmm-2.66.1/temp/meson.x86_64-pc-linux-gnu.amd64.ini -Dwarnings=min -Dbuild-deprecated-api=true -Dbuild-documentation=false -Ddebug-refcounting=false -Dbuild-examples=false /var/tmp/portage/dev-cpp/glibmm-2.66.1/work/glibmm-2.66.1 /var/tmp/portage/dev-cpp/glibmm-2.66.1/work/glibmm-2.66.1-abi_x86_64.amd64
meson: no python-exec wrapped executable found in /usr/lib/python-exec.
 * ERROR: dev-cpp/glibmm-2.66.1::gentoo failed (configure phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  125:  Called src_configure
 *   environment, line 2773:  Called meson-multilib_src_configure
 *   environment, line 1564:  Called multilib-minimal_src_configure
 *   environment, line 1792:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *   environment, line 2045:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 1722:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 1720:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *   environment, line  542:  Called multilib-minimal_abi_src_configure
 *   environment, line 1786:  Called multilib_src_configure
 *   environment, line 2262:  Called meson_src_configure
 *   environment, line 1652:  Called die
 * The specific snippet of code:
 *       "${mesonargs[@]}" ) || die
 * 
 * If you need support, post the output of `emerge --info '=dev-cpp/glibmm-2.66.1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-cpp/glibmm-2.66.1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-cpp/glibmm-2.66.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-cpp/glibmm-2.66.1/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-cpp/glibmm-2.66.1/work/glibmm-2.66.1-abi_x86_64.amd64'
 * S: '/var/tmp/portage/dev-cpp/glibmm-2.66.1/work/glibmm-2.66.1'
towe
() автор топика
Ответ на: комментарий от grem

Если переключать через eselect, то результат тот же, кстати

ls /usr/lib/python-exec
python3.7  python3.8  python3.9  python-exec2

Почему так?

towe
() автор топика

Так, у меня появился «хитрый» план: копировать скрипты из директории /usr/lib/python-exec/python3.7 в /usr/lib/python-exec/python3.9 и записывать название скопированных скриптов в отдельный файл, чтобы потом обновить скрипты переустановкой программ (скрипты же так в этих директориях появляются)

towe
() автор топика
Последнее исправление: towe (всего исправлений: 2)

Животворящий emerge -auUD @world решает почти все проблемы сам, например, проблему с perl и boost.

Возникла ошибка компиляции связанная с ninja, но я просто замаскировал обновления пакетов с этой ошибкой. Осталось порядка 140 пакетов (из 450, конец близок!!!). Portage где-то на 50-м месте. Боже, я уже думал переустанавливать систему!

Кстати, план с копированием python-exec скрипта сработал. С другими пакетами так делать не приходилось, а meson, при обновлении сам обновил скрипт в python3.9.

towe
() автор топика

Всем спасибо, переход завершён!

towe
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.