* [devel] I: usrmerge: build regressions on merged-usr
@ 2024-04-01 14:31 Arseny Maslennikov
2024-04-01 14:33 ` Arseny Maslennikov
0 siblings, 1 reply; 3+ messages in thread
From: Arseny Maslennikov @ 2024-04-01 14:31 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 9898 bytes --]
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [devel] I: usrmerge: build regressions on merged-usr
2024-04-01 14:31 [devel] I: usrmerge: build regressions on merged-usr Arseny Maslennikov
@ 2024-04-01 14:33 ` Arseny Maslennikov
2024-04-03 10:34 ` Arseny Maslennikov
0 siblings, 1 reply; 3+ messages in thread
From: Arseny Maslennikov @ 2024-04-01 14:33 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1918 bytes --]
On Mon, Apr 01, 2024 at 05:31:51PM +0300, Arseny Maslennikov wrote:
> 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, проблема пропадает.
Это касается большинства перечисленных в предыдущем письме пакетов, но
наивное изменение дефолтного PATH в /etc/profile может вызвать другие
регрессии. Я считаю, надо провести ещё одну тестовую пересборку с
переставленными элементами PATH, чтобы обнаружить регрессии в таком
окружении.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [devel] I: usrmerge: build regressions on merged-usr
2024-04-01 14:33 ` Arseny Maslennikov
@ 2024-04-03 10:34 ` Arseny Maslennikov
0 siblings, 0 replies; 3+ messages in thread
From: Arseny Maslennikov @ 2024-04-03 10:34 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 3247 bytes --]
On Mon, Apr 01, 2024 at 05:33:07PM +0300, Arseny Maslennikov wrote:
> On Mon, Apr 01, 2024 at 05:31:51PM +0300, Arseny Maslennikov wrote:
> > Если поставить /bin после /usr/bin в PATH, проблема пропадает.
> Это касается большинства перечисленных в предыдущем письме пакетов, но
> наивное изменение дефолтного PATH в /etc/profile может вызвать другие
> регрессии. Я считаю, надо провести ещё одну тестовую пересборку с
> переставленными элементами PATH, чтобы обнаружить регрессии в таком
> окружении.
Провели. Новых FTBFS системного масштаба не будет.
После изменения дефолтного PATH обнаружилось вот это.
yices-2.3.0-alt4
Тут понятно, что случилось:
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.18930
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/yices-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/yices-buildroot
+ PATH=/usr/libexec/rpm-build:/usr/src/bin:/usr/bin:/bin:/usr/games
+ cd yices-2.3.0
+ sed -i 's|/usr|/usr/src/tmp/yices-buildroot/usr|' configs/make.include.x86_64-alt-linux
+ make dist YICES_MAKE_INCLUDE=configs/make.include.x86_64-alt-linux ARCH=x86_64-alt-linux
make: Entering directory '/usr/src/RPM/BUILD/yices-2.3.0'
Mode: release
Platform: x86_64-alt-linux
make[1]: Entering directory '/usr/src/RPM/BUILD/yices-2.3.0'
./utils/make_source_version ./src/api/yices_version_template.txt src/api/yices_version.c 2.3.0 release x86_64-alt-linux
/usr/src/tmp/yices-buildroot/usr/bin/mkdir -p build/x86_64-alt-linux-release/dist
make[1]: /usr/src/tmp/yices-buildroot/usr/bin/mkdir: No such file or directory
make[1]: *** [Makefile.build:326: build/x86_64-alt-linux-release/dist] Error 127
make[1]: Leaving directory '/usr/src/RPM/BUILD/yices-2.3.0'
make: *** [Makefile:259: dist] Error 2
make: Leaving directory '/usr/src/RPM/BUILD/yices-2.3.0'
error: Bad exit status from /usr/src/tmp/rpm-tmp.18930 (%install)
В configs/make.include.x86_64-alt-linux, видимо, оказалось обращение к
/usr/bin/mkdir явно. Т. е., если не вникать, можно перед добавлением
buildroot вставить что-то по мотивам
sed -i 's|/usr/bin/mkdir|mkdir|' configs/make.include.x86_64-alt-linux
yices grenka
Из списка в первом письме этого треда остались следующие пакеты:
automake_1.11 glebfm @everybody
foomatic-db-engine viy @qa @everybody
openldap @openldap
sphinx rider @everybody
xar majioa @everybody
yices grenka
По поводу остальных упомянутых, скорее всего, можно расслабиться.
Я ещё посмотрю, что будет с зависимостями у пакетов, пересобравшихся
успешно.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-04-03 10:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-01 14:31 [devel] I: usrmerge: build regressions on merged-usr Arseny Maslennikov
2024-04-01 14:33 ` Arseny Maslennikov
2024-04-03 10:34 ` Arseny Maslennikov
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git