Bug 51184

Summary: Не запускается usdview
Product: Sisyphus Reporter: Aleksandr Sysoev <sysoevas>
Component: OpenUSDAssignee: Grigory Ustinov <grenka>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: grenka, lakostis
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Aleksandr Sysoev 2024-08-18 11:39:11 MSK
workstation-10.2-x86-64 обновленный до Sisyphus

Шаги воспроизведения:
1. # apt-get install OpenUSD python3-module-pyside6 python3-module-pyside6-devel
2. Запустить $ usdview или Меню приложений - usdview

Ожидаемый результат:
Запуск выполнен успешно

Реальный результат:
Traceback (most recent call last):
  File "/usr/bin/usdview", line 28, in <module>
    import pxr.Usdviewq as Usdviewq
  File "/usr/lib64/python3/site-packages/pxr/Usdviewq/__init__.py", line 32, in <module>
    from .qt import QtWidgets, QtCore
  File "/usr/lib64/python3/site-packages/pxr/Usdviewq/qt.py", line 42, in <module>
    PySideModule = GetPySideModule()
                   ^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3/site-packages/pxr/Usdviewq/qt.py", line 31, in GetPySideModule
    from . import attributeValueEditorUI
  File "/usr/lib64/python3/site-packages/pxr/Usdviewq/attributeValueEditorUI.py", line 11, in <module>
    from PySide2.QtCore import *  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'PySide2'
Comment 1 Konstantin A Lepikhov (L.A. Kostis) 2024-08-18 14:45:00 MSK
(In reply to Aleksandr Sysoev from comment #0)
> workstation-10.2-x86-64 обновленный до Sisyphus
> 
> Шаги воспроизведения:
> 1. # apt-get install OpenUSD python3-module-pyside6
> python3-module-pyside6-devel
> 2. Запустить $ usdview или Меню приложений - usdview
> 
> Ожидаемый результат:
> Запуск выполнен успешно
> 
> Реальный результат:
> Traceback (most recent call last):
>   File "/usr/bin/usdview", line 28, in <module>
>     import pxr.Usdviewq as Usdviewq
>   File "/usr/lib64/python3/site-packages/pxr/Usdviewq/__init__.py", line 32,
> in <module>
>     from .qt import QtWidgets, QtCore
>   File "/usr/lib64/python3/site-packages/pxr/Usdviewq/qt.py", line 42, in
> <module>
>     PySideModule = GetPySideModule()
>                    ^^^^^^^^^^^^^^^^^
>   File "/usr/lib64/python3/site-packages/pxr/Usdviewq/qt.py", line 31, in
> GetPySideModule
>     from . import attributeValueEditorUI
>   File
> "/usr/lib64/python3/site-packages/pxr/Usdviewq/attributeValueEditorUI.py",
> line 11, in <module>
>     from PySide2.QtCore import *  # type: ignore
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> ModuleNotFoundError: No module named 'PySide2'

Я не автор этого изменения, поэтому ничего не могу сказать:

* Tue Jan 02 2024 Grigory Ustinov <grenka@altlinux.org> 23.11-alt0.4                                                                                                                                                                                                                      
- NMU: dropped dependency on PySide2.
Comment 2 Grigory Ustinov 2024-08-18 17:27:45 MSK
Проблема в общем-то понятна и достаточно очевидна. На PySide6 перевели, а генератору форм сообщить забыли.

Следующий патч исправляет сборку для x86_64:
Comment 3 Grigory Ustinov 2024-08-18 17:27:58 MSK
diff --git a/.gear/OpenUSD.spec b/.gear/OpenUSD.spec
index 45fee79df..7c7c8a1de 100644
--- a/.gear/OpenUSD.spec
+++ b/.gear/OpenUSD.spec
@@ -54,7 +54,7 @@ BuildRequires: gcc-c++
 BuildRequires: boost-devel boost-python3-devel
 BuildRequires: tbb-devel
 BuildRequires: pkgconfig(blosc) pkgconfig(dri) opensubdiv-devel
-BuildRequires: imath-devel >= 3.0 openexr-devel pkgconfig(Qt5)
+BuildRequires: imath-devel >= 3.0 openexr-devel pkgconfig(Qt6)
 BuildRequires: python3-module-OpenGL python3-module-jinja2 python3-dev
 BuildRequires: dos2unix help2man libstb-devel
 %{?_enable_alembic:BuildRequires: alembic-devel}
@@ -186,7 +186,7 @@ find . -type f -exec gawk '/embree3/ { print FILENAME }' '{}' '+' |
 # Fix uic-qt5 use
 cat > uic-wrapper <<'EOF'
 #!/bin/sh
-exec uic-qt5 -g python "$@"
+exec /usr/lib64/qt6/libexec/uic -g python "$@"
 EOF
 chmod +x uic-wrapper
Comment 4 Grigory Ustinov 2024-08-18 17:31:20 MSK
Я предлагаю мейнтейнеру пакета оформить это изменение так, чтобы работало для всех архитектур. Если нет желания этим заниматься, я могу убрать создание файла в спеке и добавить его отдельным скриптом, получающим на вход значение %_libdir. Просто мне кажется, что есть какое-то более элегантное решение, которого я не вижу.
Comment 5 Konstantin A Lepikhov (L.A. Kostis) 2024-08-18 19:07:35 MSK
(In reply to Grigory Ustinov from comment #4)
> Я предлагаю мейнтейнеру пакета оформить это изменение так, чтобы работало
> для всех архитектур. Если нет желания этим заниматься, я могу убрать
> создание файла в спеке и добавить его отдельным скриптом, получающим на вход
> значение %_libdir. Просто мне кажется, что есть какое-то более элегантное
> решение, которого я не вижу.

getconf LIBDIR? На самом деле архитектуры там всего 2 - x86_64 и aarch64. loongarch я не считаю поддерживаемой архитектурой поскольку апстрим не в курсе про нее.
Comment 6 Konstantin A Lepikhov (L.A. Kostis) 2024-08-19 12:40:59 MSK
исправлено в 24.08-alt0.2. прошу проверить и закрыть баг если это так.