[devel] I: usrmerge: build regressions on merged-usr

Arseny Maslennikov arseny на altlinux.org
Пн Апр 1 17:31:47 MSK 2024


Hi!

Предыдущее обсуждение — в треде:
https://lore.altlinux.org/devel/Zb1g5AjXKMylak18@cello/

В минувшую среду наконец-то удалось начать подготовку к слиянию
каталогов в сизифе. Сейчас в репозиторий можно просто взять и собрать
filesystem 3 с симлинками, он соберётся, почти все пакеты смогут
установиться в получившуюся систему, и большинство пакетов смогут
собраться в этом окружении без регрессий. Но не все, о чём ниже.

В результате тестовой пересборки сизифа в окружении, где /bin -> usr/bin и
так далее, выявлены регрессии пересборки 59 пакетов. Все они, кроме совсем
тривиальных, представлены ниже, с ACL.

	alleyoop-0.9.8-alt1_9
	autodafe-0.1-alt3_6
	corosync-3.1.8-alt1
	ispell-ru-lebedev-0.99g5-alt15
	libretro-20200729-alt1
	pyclewn-2.3-alt2
	ttyd-1.7.3-alt1
	wordlist-20180416-alt1
Эти пакеты вытягивают vim-common в качестве BR. Получается следующее:
          file /usr/bin/ex from install of vim-common-4:9.1.0050-alt2.noarch conflicts with file from package vim-minimal-4:9.1.0050-alt2.x86_64
          file /usr/bin/rview from install of vim-common-4:9.1.0050-alt2.noarch conflicts with file from package vim-minimal-4:9.1.0050-alt2.x86_64
  hsh-install: Packages installation failed.
Заведён багрепорт https://bugzilla.altlinux.org/49541. Сами эти пакеты, скорее
всего, исправлять не потребуется.
alleyoop	viy @everybody
autodafe	viy @everybody
corosync	shaba @everybody
ispell-ru-lebedev	viy @everybody
libretro	arbars @everybody
pyclewn	george @everybody
ttyd	fruktime @everybody
wordlist	@core

	blender-4.0.2-alt0.8
	deepin-image-viewer-5.9.9-alt3
	freecad-1:0.21.2-alt5
	imath-3.1.6-alt4
	libcpp-hocon-0.3.0-alt2
	liblcf-0.7.0-alt1_3
	libmanticore-columnar-1.15.4-alt1
	lincity-ng-2.10.1-alt1
	pocl-5.0-alt0.2
	opencolorio-2.3.0-alt2.2
	openshadinglanguage-1.13.7.0-alt0.2
	smesh-9.8.0.2-alt2
При сборке этих пакетов используется cmake, который в этом окружении считает,
что все cmake-файлы лежат в /lib64/cmake, и находит их там. Может, потому, что
думает, что сам находится в /bin/cmake, или по иной причине. В частности, при
обходе очередного cmake-файла ${CMAKE_CURRENT_LIST_FILE} и
${CMAKE_CURRENT_LIST_DIR} начинаются с /lib64/cmake, что ломает логику самих
этих файлов (как правило, какие-то пути вида
"${CMAKE_CURRENT_LIST_FILE}/../../../..") и порождает сумрачные изобретения
вроде каталога /include, установки артефактов в %buildroot/%_lib, ...

Если поставить /bin после /usr/bin в PATH, проблема пропадает.

blender	egori rider @everybody
deepin-image-viewer	lvol @everybody
freecad	cas @everybody
imath	zerg
libcpp-hocon	cas @everybody
liblcf	viy @everybody
libmanticore-columnar	lav @everybody
lincity-ng	aris @everybody
pocl	lakostis @everybody
opencolorio	nenderus @everybody
openshadinglanguage	thatman @everybody
smesh	cas @everybody

	jicofo-1.1.9258-alt1
	jigasi-1.1-alt0.3
	jitsi-videobridge-1:2.3.9258-alt1
Эти три пакета ищут файлы в /share/maven.
jicofo	viy @everybody
jigasi	viy @everybody
jitsi-videobridge	viy @everybody

	llvm15.0-15.0.7-alt8
Здесь довольно ясно написали, что произошло:
  Could not find a relative path to sys.executable under sys.prefix
  tried: /bin/python3.12
  realpath(sys.prefix): /usr
  sys.prefix: /usr
  -- Skipping FreeBSDKernel plugin due to missing libfbsdvmcore
  CMake Error at /usr/src/RPM/BUILD/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt:7 (message):
    LLDB_PYTHON_EXE_RELATIVE_PATH is not set.

	openldap-2.6.7-alt1
В этом пакете устанавливают systemd unit в /usr/lib/systemd/system, к чему не
готов список файлов в спеке. Хорошо, но рано. :)

	foomatic-db-engine-4.0.12-alt1
Этот пакет устанавливает файлы в /lib/cups.

	ocaml-camlp5-8.02.01-alt1
Этот пакет устанавливает файлы в /bin.

	python3-module-GitPython-3.1.42-alt1
Некий тест сравнил shutil.which("git") и git.GIT_PYTHON_GIT_EXECUTABLE из
своего модуля, и они не совпали:
  AssertionError: '/usr/bin/git' != '/bin/git'
python3-module-GitPython	lav @everybody

	LibreOffice-24.2.2.1-alt1
	LibreOffice-still-7.6.5.2-alt1
cc не может найти jni.h:
  make[1]: Entering directory '/usr/src/RPM/BUILD/libreoffice-24.2.2.1'
  [build C  ] bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c
  S=/usr/src/RPM/BUILD/libreoffice-24.2.2.1 && I=$S/instdir && W=$S/workdir &&  mkdir -p $W/CObject/bean/native/unix/ $W/Dep/CObject/bean/native/unix/ && cd /usr/src/RPM/BUILD/libreoffice-24.2.2.1 &&             gcc -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DCPPU_ENV=gcc3 -DLINUX -DNDEBUG -DOSL_DEBUG_LEVEL=0 -DUNIX -DUNX -DX86_64 -D_PTHREADS -D_REENTRANT  -flto=jobserver -fuse-linker-plugin -O2 -fvisibility=hidden    -Wall -Wendif-labels -Wextra -Wstrict-prototypes -Wundef -Wunreachable-code -Wunused-macros   -finput-charset=UTF-8 -fmessage-length=0 -fno-common -pipe -fstack-protector-strong  -Wduplicated-cond -Wlogical-op -Wshift-overflow=2 -std=gnu89 -fPIC -Wshadow  -O2     -DLIBO_INTERNAL_ONLY  -c $S/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c -o $W/CObject/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.o -MMD -MT $W/CObject/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.o -MP -MF $W/Dep/CObject/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.d_ -I$S/include -I/usr/lib/jvm/include -I/usr/lib/jvm/include/linux -I$S/config_host   && mv $W/Dep/CObject/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.d_ $W/Dep/CObject/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.d
  /usr/src/RPM/BUILD/libreoffice-24.2.2.1/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.c:33:10: fatal error: jni.h: No such file or directory
     33 | #include <jni.h>
        |          ^~~~~~~
  compilation terminated.
  make[1]: *** [/usr/src/RPM/BUILD/libreoffice-24.2.2.1/solenv/gbuild/LinkTarget.mk:275: /usr/src/RPM/BUILD/libreoffice-24.2.2.1/workdir/CObject/bean/native/unix/com_sun_star_comp_beans_LocalOfficeWindow.o] Error 1
  make[1]: Leaving directory '/usr/src/RPM/BUILD/libreoffice-24.2.2.1'
LibreOffice	george kotopesutility @everybody
LibreOffice-still	cas @everybody

	subversion-1.14.3-alt1
Здесь что-то ищут в /share/libtool.
subversion	cas ender shrek @qa @everybody

  <...>
	qt6-3d-6.6.2-alt1.1
	qt6-5compat-6.6.2-alt1
	qt6-charts-6.6.2-alt1
	qt6-connectivity-6.6.2-alt1
	qt6-datavis3d-6.6.2-alt1
	qt6-doc-6.6.2-alt1
	qt6-imageformats-6.6.2-alt1
	qt6-multimedia-6.6.2-alt1.1
	qt6-networkauth-6.6.2-alt1
	qt6-positioning-6.6.2-alt1.1
	qt6-remoteobjects-6.6.2-alt1
	qt6-scxml-6.6.2-alt1
	qt6-sensors-6.6.2-alt1
	qt6-serialbus-6.6.2-alt1
	qt6-serialport-6.6.2-alt1
	qt6-speech-6.6.2-alt1
	qt6-svg-6.6.2-alt1
	qt6-tools-6.6.2-alt1
	qt6-virtualkeyboard-6.6.2-alt1
	qt6-wayland-6.6.2-alt1
	qt6-webchannel-6.6.2-alt1
	qt6-websockets-6.6.2-alt1
Это семейство пакетов в процессе сборки документации (make чего-то там docs) не
может найти непонятно какой файл (в логе появляется строка "No such file or
directory") и падает. Подробнее я не смотрел, но, видимо, причина у них общая.
qt6-3d	zerg
qt6-5compat	zerg
qt6-charts	zerg
qt6-connectivity	zerg
qt6-datavis3d	zerg @everybody
qt6-doc	zerg @everybody
qt6-imageformats	zerg
qt6-multimedia	zerg
qt6-networkauth	zerg
qt6-positioning	zerg
qt6-remoteobjects	zerg @everybody
qt6-scxml	zerg
qt6-sensors	zerg
qt6-serialbus	zerg
qt6-serialport	zerg
qt6-speech	zerg
qt6-svg	zerg
qt6-tools	zerg
qt6-virtualkeyboard	zerg
qt6-wayland	zerg
qt6-webchannel	zerg
qt6-websockets	zerg

	sphinx-2.3.2-alt4
configure-script в подкаталоге api/libsphinxclient валится с ошибкой:
  error: C++ preprocessor "/lib/cpp" fails sanity check
Забавно, что configure в корне дерева исходников на такую ошибку не натыкается,
потому что ищет и находит C preprocessor.
Если текущий gcc-common установить в merged-usr окружение, то /lib/cpp будет
разворачиваться в /usr/usr/bin/gcc_wrapper (один префикс лишний).
configure-скрипт сначала пробует "$CXX -E", а потом /lib/cpp.
Если установить переменную окружения CXX=/usr/bin/c++, это поможет.
sphinx	rider @everybody

	uhd-4.4.0.0-alt3.1
	xar-1.6.1-alt4
У этих двух пакетов причина поломки мне не ясна, но один из них, uhd, на CMake.
uhd	antohami @everybody
xar	majioa @everybody
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20240401/92030df2/attachment.bin>


Подробная информация о списке рассылки Devel