Здравия!
Уже пару недель висит и никак не сойдет с мёртвой точки librecad, что ему не хватает? /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../../generated/librecad/obj/rs_actiondrawlinetangent2.o:(.rodata+0x0): mul
tiple definition of `_ZGRN12_GLOBAL__N_110circleTypeE_'; ../../generated/librecad/obj/rs_actiondrawlinetangent1.o:(.rodata+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile ../../unix/librecad] Error 1
make[2]: Leaving directory '/var/tmp/portage/media-gfx/librecad-2.1.3-r4/work/LibreCAD-2.1.3/librecad/src'
make[1]: *** [Makefile:47: sub-src-make_first] Error 2
make[1]: Leaving directory '/var/tmp/portage/media-gfx/librecad-2.1.3-r4/work/LibreCAD-2.1.3/librecad'
make: *** [Makefile:93: sub-librecad-make_first-ordered] Error 2
* ERROR: media-gfx/librecad-2.1.3-r4::gentoo failed (compile phase):
У вас нет необходимых прав для просмотра вложений в этом сообщении.
У librecad-2.1.3-r4 проблемы с компиляцией современными версиями gcc. Или добавьте в accept_keywords librecad-2.1.3-r5, или собирайте librecad-2.1.3-r4 более старым gcc (если не ошибаюсь, 8 и старше).
Очередная беда: [blocks B ] app-eselect/eselect-opengl ("app-eselect/eselect-opengl" is blocking x11-base/xorg-server-1.20.7, media-libs/mesa-19.3.5)
[blocks B ] x11-drivers/nvidia-drivers[-libglvnd(-)] ("x11-drivers/nvidia-drivers[-libglvnd(-)]" is hard blocking x11-base/xorg-server-1.20.7)
$ eix x11-drivers/nvidia-drivers
x11-drivers/nvidia-drivers
Available versions: 340.108(0/340)^mtd 390.132-r1(0/390)^mtd ~390.132-r2(0/390)^mtd [m]430.64-r1(0/430)^mtd [m]435.21-r1(0/435)^mtd [m]440.59(0/440)^mtd [m]~440.64(0/440)^mtd {+X acpi compat +driver gtk3 +kms +libglvnd multilib static-libs +tools uvm wayland ABI_MIPS="n32 n64 o32" ABI_RISCV="lp64 lp64d" ABI_S390="32 64" ABI_X86="32 64 x32" KERNEL="FreeBSD linux"}
Installed versions: 390.132-r1(0/390)^mtd(11:09:51 07.03.2020)(X acpi driver kms multilib tools -compat -gtk3 -static-libs -uvm -wayland ABI_MIPS="-n32 -n64 -o32" ABI_RISCV="-lp64 -lp64d" ABI_S390="-32 -64" ABI_X86="32 64 -x32" KERNEL="linux -FreeBSD")
$ eix x11-base/xorg-server
x11-base/xorg-server
Available versions: 1.20.7(0/1.20.7) **9999(0/9999)*l {debug dmx doc elogind ipv6 kdrive +libglvnd libressl minimal selinux static-libs +suid systemd +udev unwind wayland xcsecurity xephyr xnest xorg xvfb}
Installed versions: 1.20.7(0/1.20.7)(11:05:41 07.03.2020)(suid udev xorg -debug -dmx -doc -elogind -ipv6 -kdrive -libglvnd -libressl -minimal -selinux -static-libs -systemd -unwind -wayland -xcsecurity -xephyr -xnest -xvfb)
$ grep libglvnd /usr/portage/profiles/use.local.desc
media-libs/mesa:libglvnd - Use libglvnd for dispatch.
x11-base/xorg-server:libglvnd - Use libglvnd for dispatch.
x11-drivers/nvidia-drivers:libglvnd - Use media-libs/libglvnd for dispatch
Я так понимаю, оно хочет +libglvnd, но x11-drivers/nvidia-drivers-390.132-r1 не имеет такого. Заторможен по причине старой видеокарты. И этот libglvnd обязателен, с плюсиком. Всё, приплыли?
Поспешил, там есть x11-drivers/nvidia-drivers ~390.132-r2, вроде поехало. Так этот libglvnd с плюсом же, разве такой можно отключить? И что это вообще такое, а то может надо?
Неа, не поехало. Попробую отключить.
Отключил, обновление поехало, посмотрим, как ещё работать будет. И как же так, с плюсиком поначалу, а потом выделенное жёлтым цветом со звездой * не просто так же?
- libglvnd-это нейтральный к поставщикам уровень диспетчеризации для арбитража вызовов API OpenGL между несколькими поставщиками. Он позволяет нескольким драйверам от разных поставщиков сосуществовать в одной файловой системе и определяет, какому поставщику отправлять каждый вызов API во время выполнения.
Поддерживаются как GLX, так и EGL, в любой комбинации с OpenGL и OpenGL ES. -
Мне вроде вообще не нужен, у меня одна видеоплата. И зачем они его по умолчанию лепят везде (mesa xorg nvidia-drivers)?
Поставщик - это автор библиотеки, предоставляющей функции OpenGL.
В драйверах NVIDIA содержится собственная реализация OpenGL, и раньше при установке драйвера предоставляемая дистрибутивом реализация (обычно Mesa) затиралась, а если дистрибутив хотел эти драйвера опакетить, то приходилось или извращаться с симлинками, или запрещать одновременную установку (что, очевидно, создаёт проблемы, если интегрированная и внешняя видеокарты используют разные драйвера). Чтобы этого не происходило, NVIDIA написала эту самую libglvnd - псевдо-реализацию OpenGL, которая просто подгружает какую-нибудь другую реализацию, в зависимости от ситуации.
Заглянул в сам ебилд. Там при включении флага pgo тесты прогоняются для профилирования. Так что об этом - нет, не надо. А вот о том, что эти тесты требуют исполнимости в /tmp - тут уже интереснее:
commit fc8b4b98c7c7dd6f349d319c6352dbe57645ffd5
Author: Michał Górny <mgorny@gentoo.org>
Date: Wed Oct 16 17:31:56 2024 +0200
dev-lang/python: Override TMPDIR to reduce risk of test failures
Signed-off-by: Michał Górny <mgorny@gentoo.org>
diff --git a/dev-lang/python/python-3.13.0.ebuild b/dev-lang/python/python-3.13.0.ebuild
index ffd6571fce4b..6dcbf03f0712 100644
--- a/dev-lang/python/python-3.13.0.ebuild
+++ b/dev-lang/python/python-3.13.0.ebuild
@@ -514,6 +514,7 @@ src_compile() {
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
+ local -x TMPDIR=/tmp
fi
# also need to clear the flags explicitly here or they end up
@@ -553,6 +554,7 @@ src_test() {
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
+ local -x TMPDIR=/tmp
nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
Т.е. они перенесли тесты в /tmp, чтобы уменьшить риск сбоя тестов. Уменьшить. А у вас, из-за noexec, это наоборот вызвало сбой.
После обновления QT перестало запускаться: $ mscore
warning: copy relocation against non-copyable protected symbol `qt_resourceFeatureZstd' in `/usr/lib64/libQt6Core.so.6'
mscore: qt_resourceFeatureZstd: /usr/lib64/libQt6Core.so.6: error due to GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS
При пересборке тоже облом:
build.log.bz2
Баг писать или как?
У вас нет необходимых прав для просмотра вложений в этом сообщении.