gentoo заскоки
Модератор: /dev/random
-
yoricI
- Сообщения: 3065
- ОС: gentoo fluxbox
Re: gentoo заскоки
Не стоит пока обновляться? У меня кучу ошибок вывалило по @system и встало. Разгребать или подождать? Хотя наверное лучше не будет
-
/dev/random
- Администратор
- Сообщения: 5479
- ОС: Gentoo
Re: gentoo заскоки
Попробуйте без @system, сразу на @world. Я понятия не имею, почему люди сначала @system обновляют, ведь часто бывает, что обновление пакета в @system ломает зависимости пакетов не в @system, если их тоже сразу не обновить. Если и на @world будут ошибки, приведите их здесь.
-
ormorph
- Сообщения: 3238
- ОС: Gentoo
Re: gentoo заскоки
Не знаю какой смысл был переходить на версию 3.14. Проверил она немного даже медленнее чем 3.13, единственное выигрыш в скорости если собрать с флагами jit и pgo, но флаг jit они как раз замаскировали.
Заметил интересную вещь, у меня python 3.14 установленный через mamba/conda работает быстрее без включенного jit чем тот что в системе с включенным jit.
Заметил интересную вещь, у меня python 3.14 установленный через mamba/conda работает быстрее без включенного jit чем тот что в системе с включенным jit.
Shell
import sys
sys._jit.is_enabled()
True-
yoricI
- Сообщения: 3065
- ОС: gentoo fluxbox
Re: gentoo заскоки
emerge -aDNuv --exclude games-fps/worldofpadman @world These are the packages that would be merged, in order: Calculating dependencies | !!! Problem resolving dependencies for media-sound/soundconverter from @selected ... done! Dependency resolution took 4.13 s (backtrack: 0/20). !!! The ebuild selected to satisfy "media-sound/soundconverter" has unmet requirements. - media-sound/soundconverter-4.0.5::gentoo USE="aac flac mp3 ogg vorbis -opus -test" PYTHON_SINGLE_TARGET="-python3_12 -python3_13" The following REQUIRED_USE flag constraints are unsatisfied: exactly-one-of ( python_single_target_python3_12 python_single_target_python3_13 ) (dependency required by "@selected" [set]) (dependency required by "@world" [argument])
Я знаю, что прописав USE для "media-sound/soundconverter python_single_target_python3_13", это уйдёт, но вылезет следуящая и так пока не кончатся. Кстати, баг worldofpadman уже год висит, выкинули бы, чтобы не мучаться.
-
ormorph
- Сообщения: 3238
- ОС: Gentoo
Re: gentoo заскоки
Просто скопировать содержимое из портов этого пакета в локальный оверлей. Из ебилдов оставить один soundconverter-4.0.5.ebuild, переименовать его в soundconverter-4.0.5-r1.ebuild, и привести строчку к такому виду:
А далее выполнить:
Далее этот пакет уже будет ставиться и работать под python 3.14.
Локальный оверлей только спасает при обновлении...
Shell
PYTHON_COMPAT=( python3_{10..14} )Shell
# ebuild soundconverter-4.0.5-r1.ebuild digestЛокальный оверлей только спасает при обновлении...
-
yoricI
- Сообщения: 3065
- ОС: gentoo fluxbox
-
/dev/random
- Администратор
- Сообщения: 5479
- ОС: Gentoo
Re: gentoo заскоки
Для PYTHON_SINGLE_TARGET это единственный вариант. И нет, "подождать" - не вариант, т.к. есть вероятность, что в каком-нибудь из установленных у вас пакетов новый питон никогда не будет поддерживаться, и ждать вам придётся вечно.
С PYTHON_TARGETS проще, чем PYTHON_SINGLE_TARGETS: там можно просто глобально прописать обе версии, и проблемы с этой переменной отпадут. В PYTHON_SINGLE_TARGETS прописывать несколько вариантов нельзя.
eix -I -U python_single_target_python3_13 --not -U python_single_target_python3_14
Спасибо сказали:
-
ormorph
- Сообщения: 3238
- ОС: Gentoo
Re: gentoo заскоки
Это да. Из того что я знаю, для примера rhvoice-wrapper, даже тот что ставится через pip, является нерабочим начиная с версии 3.13, тем не менее оно ставится. Я для этого использую один и тот же патч, что для ебилда в Gentoo, что для устанавливаемого через pip, только ключ -Np2, тогда всё работает. Но я использую системные библиотеки rhvoice, по этому такие как rhvoice-wrapper-bin, мне не нужны. Не всё так радужно./dev/random писал: ↑04.06.2026 07:36И нет, "подождать" - не вариант, т.к. есть вероятность, что в каком-нибудь из установленных у вас пакетов новый питон никогда не будет поддерживаться, и ждать вам придётся вечно.
-
yoricI
- Сообщения: 3065
- ОС: gentoo fluxbox
Re: gentoo заскоки
А как и где это правильно прописать?
-
/dev/random
- Администратор
- Сообщения: 5479
- ОС: Gentoo
Re: gentoo заскоки
/etc/portage/package.use
*/* PYTHON_TARGETS: -* python3_13 python3_14
*/* PYTHON_SINGLE_TARGET: -* python3_14
media-sound/soundconverter PYTHON_SINGLE_TARGET: -* python3_13
категория/пакет PYTHON_SINGLE_TARGET: -* python3_13
категория/пакет PYTHON_SINGLE_TARGET: -* python3_13
-
yoricI
- Сообщения: 3065
- ОС: gentoo fluxbox
Re: gentoo заскоки
А если существует такой каталог, куда приткнуть для универсальности? В make.conf?
-
/dev/random
- Администратор
- Сообщения: 5479
- ОС: Gentoo
-
yoricI
- Сообщения: 3065
- ОС: gentoo fluxbox
Re: gentoo заскоки
Обзову /etc/portage/package.use/GLOBAL, чтоб перед глазами маячил
-
ormorph
- Сообщения: 3238
- ОС: Gentoo
Re: gentoo заскоки
Обычно люди обзывают названием пакета: /etc/portage/package.use/soundconverter
Обычно такой файл создаётся автоматически при добавлении через euse:
Shell
# euse -p media-sound/soundconverter -D mp3-
/dev/random
- Администратор
- Сообщения: 5479
- ОС: Gentoo
Re: gentoo заскоки
В данном случае он спрашивал, куда приткнуть строки, начинающиеся с */*, без имени пакета. Кроме того, строки, связанные с питоном, даже те, в которых есть имя пакета, удобнее держать рядом друг с другом.
-
ormorph
- Сообщения: 3238
- ОС: Gentoo
Re: gentoo заскоки
Это уже кому как удобнее. Кому удобнее просто держать скрипт под эти цели. А так вообще прописывать python в /etc/portage/package.use, кода то раньше когда пакеты для python собирались сразу под две и более версии python, может и было бы удобно. А теперь когда почти все пакеты используют только одну версию python (python_single), прописывание этого может добавить больше проблем для сборки, чем когда версия прописана глобально. Конечно скорость компиляции в результате выросла, а вот всё остальное под вопросом./dev/random писал: ↑04.06.2026 14:00В данном случае он спрашивал, куда приткнуть строки, начинающиеся с */*, без имени пакета. Кроме того, строки, связанные с питоном, даже те, в которых есть имя пакета, удобнее держать рядом друг с другом.
-
/dev/random
- Администратор
- Сообщения: 5479
- ОС: Gentoo
Re: gentoo заскоки
Пакеты, использующие питон во внутренних целях, используют только одну версию. Пакеты, предоставляющие питоновские модули, предоставляют их для нескольких версий. Если вы пропишете для какого-то пакета PYTHON_SINGLE_TARGET: python3_13, то у его зависимостей в списке PYTHON_TARGETS будет нужен python3_13, и таких зависимостей может быть много. Поэтому удобнее сразу прописать глобально: */* PYTHON_TARGETS: -* python3_13 python3_14.
-
ormorph
- Сообщения: 3238
- ОС: Gentoo
Re: gentoo заскоки
Ну так я про то и говорю, что нынче это уже из разряда извращение. Если раньше допустим пакет oblogout можно было собрать сразу под несколько версий python и собиралось так. Ну а когда нужно было переключить версию python просто выполнялось через eselect и так же работало под другой версией. То теперь большинство пакетов уже используют только одну версию, и не факт что зависимость будет собираться под несколько версий. Это хорошо если всё с зависимостями пройдёт гладко, но может быть и нет. Ну и не уверен, что есть бинарные версии пакетов под две версии сразу в binhost. Теперь это больше выглядит как костыль для перехода./dev/random писал: ↑04.06.2026 15:01Поэтому удобнее сразу прописать глобально: */* PYTHON_TARGETS: -* python3_13 python3_14.
-
yoricI
- Сообщения: 3065
- ОС: gentoo fluxbox
Re: gentoo заскоки
А из-за чего nmap не того?
Spoiler
2026-06-04 19:35:54,036 wheel INFO adding 'zenmap-7.99.dist-info/entry_points.txt'
2026-06-04 19:35:54,036 wheel INFO adding 'zenmap-7.99.dist-info/top_level.txt'
2026-06-04 19:35:54,037 wheel INFO adding 'zenmap-7.99.dist-info/RECORD'
2026-06-04 19:35:54,038 root INFO removing /var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99_python3.13/build1/bdist.linux-x86_64/wheel
2026-06-04 19:35:54,048 gpep517 INFO The backend produced /var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99_python3.13/wheel/zenmap-7.99-py3-none-any
.whl
.[32m*.[0m Installing zenmap-7.99-py3-none-any.whl to /var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99_python3.13/install
python3.13 -m gpep517 install-wheel --destdir=/var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99_python3.13/install --interpreter=/usr/bin/python3.13
--prefix=/usr --optimize=all /var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99_python3.13/wheel/zenmap-7.99-py3-none-any.whl
2026-06-04 19:35:54,266 gpep517 INFO Installing /var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99_python3.13/wheel/zenmap-7.99-py3-none-any.whl into
/var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99_python3.13/install
Traceback (most recent call last):
File .[35m"<frozen runpy>".[0m, line .[35m198.[0m, in .[35m_run_module_as_main.[0m
File .[35m"<frozen runpy>".[0m, line .[35m88.[0m, in .[35m_run_code.[0m
File .[35m"/usr/lib/python3.13/site-packages/gpep517/__main__.py".[0m, line .[35m242.[0m, in .[35m<module>.[0m
sys.exit(.[31mmain.[0m.[1;31m().[0m)
.[31m~~~~.[0m.[1;31m^^.[0m
File .[35m"/usr/lib/python3.13/site-packages/gpep517/__main__.py".[0m, line .[35m238.[0m, in .[35mmain.[0m
return func(args)
File .[35m"/usr/lib/python3.13/site-packages/gpep517/__main__.py".[0m, line .[35m57.[0m, in .[35minstall_wheel.[0m
.[31minstall_wheel_impl.[0m.[1;31m(args, args.wheel).[0m
.[31m~~~~~~~~~~~~~~~~~~.[0m.[1;31m^^^^^^^^^^^^^^^^^^.[0m
File .[35m"/usr/lib/python3.13/site-packages/gpep517/install.py".[0m, line .[35m146.[0m, in .[35minstall_wheel_impl.[0m
.[31minstall.[0m.[1;31m(source, dest, {}).[0m
.[31m~~~~~~~.[0m.[1;31m^^^^^^^^^^^^^^^^^^.[0m
File .[35m"/usr/lib/python3.13/site-packages/installer/_core.py".[0m, line .[35m87.[0m, in .[35minstall.[0m
record = destination.write_script(
name=name,
...<2 lines>...
section=section,
)
File .[35m"/usr/lib/python3.13/site-packages/installer/destinations.py".[0m, line .[35m230.[0m, in .[35mwrite_script.[0m
entry = self.write_to_fs(
Scheme("scripts"), script_name, stream, is_executable=True
)
File .[35m"/usr/lib/python3.13/site-packages/gpep517/install.py".[0m, line .[35m70.[0m, in .[35mwrite_to_fs.[0m
ret = super().write_to_fs(scheme, path, stream, is_executable)
File .[35m"/usr/lib/python3.13/site-packages/installer/destinations.py".[0m, line .[35m167.[0m, in .[35mwrite_to_fs.[0m
raise FileExistsError(message)
.[1;35mFileExistsError.[0m: .[35mFile already exists: /var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99_python3.13/install/usr/bin/ndiff.[0m
.[31;01m*.[0m ERROR: net-analyzer/nmap-7.99::gentoo failed (compile phase):
.[31;01m*.[0m Wheel install failed
.[31;01m*.[0m
.[31;01m*.[0m Call stack:
.[31;01m*.[0m ebuild.sh, line 143: Called src_compile
.[31;01m*.[0m environment, line 4418: Called distutils-r1_src_compile
.[31;01m*.[0m environment, line 2152: Called _distutils-r1_run_foreach_impl 'python_compile'
.[31;01m*.[0m environment, line 671: Called distutils-r1_run_phase 'python_compile'
.[31;01m*.[0m environment, line 2136: Called python_compile
.[31;01m*.[0m environment, line 3919: Called distutils-r1_python_compile
.[31;01m*.[0m environment, line 2031: Called distutils_pep517_install '/var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99_python3.13/install'
.[31;01m*.[0m environment, line 2507: Called distutils_wheel_install '/var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99_python3.13/install' '/var
/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99_python3.13/wheel/zenmap-7.99-py3-none-any.whl'
.[31;01m*.[0m environment, line 2524: Called die
.[31;01m*.[0m The specific snippet of code:
.[31;01m*.[0m "${cmd[@]}" || die "Wheel install failed";
.[31;01m*.[0m
.[31;01m*.[0m If you need support, post the output of `emerge --info '=net-analyzer/nmap-7.99::gentoo'`,
.[31;01m*.[0m the complete build log and the output of `emerge -pqv '=net-analyzer/nmap-7.99::gentoo'`.
.[31;01m*.[0m The complete build log is located at '/var/tmp/portage/net-analyzer/nmap-7.99/temp/build.log'.
.[31;01m*.[0m The ebuild environment file is located at '/var/tmp/portage/net-analyzer/nmap-7.99/temp/environment'.
.[31;01m*.[0m Working directory: '/var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99/zenmap'
.[31;01m*.[0m S: '/var/tmp/portage/net-analyzer/nmap-7.99/work/nmap-7.99'
-
/dev/random
- Администратор
- Сообщения: 5479
- ОС: Gentoo
Re: gentoo заскоки
https://bugs.gentoo.org/975250
Впервые слышу про такой.
Добавлено (16:57):
Одну версию используют те, кто использует Python во внутренних целях, и так всегда было.
-
ormorph
- Сообщения: 3238
- ОС: Gentoo
Re: gentoo заскоки
Был такой когда то, для любителей Openbox, меню выхода, обычно настраивалось по комбинации клавиш. При желании до сих пор можно его заставить работать на python-3.14. Выглядит так.
Ну так для другого можно через mamba/conda другие версии и т.п. Это уже на любителя. Когда то использовал несколько версий, особенно актуально было когда был python-2.7 и много пакетов для него. Потом как то решил на одной быть, мне легче ебилды переписать, чем всё это пересобирать под несколько версий./dev/random писал: ↑04.06.2026 16:56Одну версию используют те, кто использует Python во внутренних целях, и так всегда было.
-
bars
- Сообщения: 1078
- ОС: BSD/LINUX
Re: gentoo заскоки
запустил обновления мира сегодня.
по середине пересборки выпала ошибка.
Я так понимаю нужно пересобрать Portage
Система
Код: Выделить всё
emerge -uaDNU --with-bdeps=y --changed-deps=y --verbose-conflicts @world -qКод: Выделить всё
Installing /mnt/tmp/portage/sys-apps/portage-3.0.79-r1/work/portage-3.0.79/NEWS to /mnt/tmp/portage/sys-apps/portage-3.0.79-r1/image/usr/share/doc/portage-3.0.79-r1
Installing /mnt/tmp/portage/sys-apps/portage-3.0.79-r1/work/portage-3.0.79/RELEASE-NOTES to /mnt/tmp/portage/sys-apps/portage-3.0.79-r1/image/usr/share/doc/portage-3.0.79-r1
Running custom install script '/mnt/tmp/portage/sys-apps/portage-3.0.79-r1/temp/python3.14/bin/python3 /mnt/tmp/portage/sys-apps/portage-3.0.79-r1/work/portage-3.0.79-python3_14/meson-private/pycompile.py python-3.14-installed.json 0'
* Fixing shebang in /usr/lib/python3.14/site-packages/portage/tests/conftest.py
* Fixing shebang in /usr/lib/python3.14/site-packages/portage/util/changelog.py
* Fixing shebang in /usr/lib/portage/python3.14/binhost-snapshot
* Fixing shebang in /usr/lib/portage/python3.14/chmod-lite.py
* Fixing shebang in /usr/lib/portage/python3.14/chpathtool.py
* Fixing shebang in /usr/lib/portage/python3.14/clean_locks
* Fixing shebang in /usr/lib/portage/python3.14/dohtml.py
* Fixing shebang in /usr/lib/portage/python3.14/doins.py
* Fixing shebang in /usr/lib/portage/python3.14/ebuild-ipc.py
* Fixing shebang in /usr/lib/portage/python3.14/filter-bash-environment.py
* Fixing shebang in /usr/lib/portage/python3.14/gpkg-helper.py
* Fixing shebang in /usr/lib/portage/python3.14/install.py
* Fixing shebang in /usr/lib/portage/python3.14/lock-helper.py
* Fixing shebang in /usr/lib/portage/python3.14/pid-ns-init
* Fixing shebang in /usr/lib/portage/python3.14/shelve-utils
* Fixing shebang in /usr/lib/portage/python3.14/socks5-server.py
* Fixing shebang in /usr/lib/portage/python3.14/xattr-helper.py
* Fixing shebang in /usr/lib/portage/python3.14/xpak-helper.py
* Optimizing Python modules in /usr/lib/python3.14/site-packages
* Optimizing Python modules in /usr/lib/portage/python3.14
* Final size of build directory: 11112 KiB (10.8 MiB)
* Final size of installed tree: 22648 KiB (22.1 MiB)
* Verifying compiled files for python3.14
* Using python3.14 in global scope
* Setting repos.conf default location = /usr/portage for backward compatibility
* Setting make.globals default BINPKG_COMPRESS="bzip2" for backward compatibility
* Setting make.globals default FEATURES="${FEATURES} -binpkg-multi-instance" for backward compatibility
* Setting make.globals default BINPKG_FORMAT="xpak" for backward compatibility
Process Process-1246:
Traceback (most recent call last):
File "/usr/lib/python3.13/multiprocessing/process.py", line 313, in _bootstrap
self.run()
~~~~~~~~^^
File "/usr/lib/python3.13/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/portage/util/_async/ForkProcess.py", line 336, in _bootstrap
File "/usr/lib/python3.13/site-packages/portage/dbapi/_MergeProcess.py", line 276, in _target
File "/usr/lib/python3.13/site-packages/portage/dbapi/vartree.py", line 1935, in wrapper
File "/usr/lib/python3.13/site-packages/portage/dbapi/vartree.py", line 6185, in merge
File "/usr/lib/python3.13/site-packages/portage/dbapi/vartree.py", line 5218, in treewalk
File "/usr/lib/python3.13/site-packages/portage/dbapi/vartree.py", line 2023, in delete
File "/usr/lib/python3.13/site-packages/portage/dbapi/vartree.py", line 6131, in _post_merge_sync
ModuleNotFoundError: No module named 'portage.dbapi._SyncfsProcess'Код: Выделить всё
qlist -Iv | grep 'python'
dev-lang/python-3.14.4_p1
dev-lang/python-3.13.13_p1Код: Выделить всё
Linux 6.18.33-gentoo-r1 x86_64Настройка BSD систем
Знание сила, незнание Рабочая сила!
Знание сила, незнание Рабочая сила!
-
ormorph
- Сообщения: 3238
- ОС: Gentoo
Re: gentoo заскоки
Оно выпало при установке sys-apps/portage для python 3.14, вообще удаляются файлы для версии 3.13 после установки portage для python 3.14. Как вариант можно запустить сборку заново, скорее всего версия для python 3.14 уже установлена. Скорее всего eix sys-apps/portage, должно показать это.
-
bars
- Сообщения: 1078
- ОС: BSD/LINUX
Re: gentoo заскоки
Я не использую eix.
Вроде как продолжил обновления мира, вроде как обновилось, emerge -a --depclean показывает 0 пакетов удаления.
Код: Выделить всё
# emerge sys-apps/portage -pv
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 2.64 s (backtrack: 0/20).
[ebuild R ] sys-apps/portage-3.0.79-r1::gentoo USE="(ipc) native-extensions rsync-verify xattr -apidoc -build -doc -gentoo-dev (-selinux) -test" PYTHON_TARGETS="python3_14 -python3_12 -python3_13" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiBНастройка BSD систем
Знание сила, незнание Рабочая сила!
Знание сила, незнание Рабочая сила!
-
ormorph
- Сообщения: 3238
- ОС: Gentoo
Re: gentoo заскоки
На сколько я понял, там ошибка произошла во время создания архива пакета, т.е. Пакет обновился, но оно пыталось создать пакет средствами старой сборки portage, которой уже не было. Скорее всего в make.conf в FEATURES прописан параметр что бы ещё создавать бинарные пакеты после установки.