Subject: bug#54011: FreeCAD: Unable to import STEP files

From: Guillaume Le Vaillant <[email-masked]>
Date: Wed, 16 Feb 2022 08:55:51 +0000

Jacob Hrbek <[email-masked]> skribis:

> [[PGP Signed Part:No public key for ADD37D14AB42FCA9 created at 2022-02-15T15:56:38+0100 using EDDSA]]
> Importing zipped STEP file: 15:50:27 Traceback (most recent call last):
>
> [...]
>
> from PySide2.QtSvg import *
>
> File
> "/gnu/store/aps2s0h5l3a9w30qrsygpc0prhrmp5ap-python-shiboken-2-5.15.2/lib/python3.9/site-packages/shiboken2/files.dir/shibokensupport/__feature__.py",
> line 142, in _import
>
> return original_import(name, *args, **kwargs)
>
> <class 'ModuleNotFoundError'>: No module named 'PySide2.QtSvg'
>
> [...]

There is an issue with the python-pyside-2 package. It fails to activate
support for the Qt components that are not in the qtbase package (like
qtxmlpatterns, qtmultimedia, qtsvg, etc):

--8<---------------cut here---------------start------------->8---
...
-- essential module Qt5Core found (). Looked in: /gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/lib/cmake/Qt5Core
-- essential module Qt5Gui found (). Looked in: /gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/lib/cmake/Qt5Gui
-- essential module Qt5Widgets found (). Looked in: /gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/lib/cmake/Qt5Widgets
-- essential module Qt5PrintSupport found (). Looked in: /gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/lib/cmake/Qt5PrintSupport
-- essential module Qt5Sql found (). Looked in: /gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/lib/cmake/Qt5Sql
-- essential module Qt5Network found (). Looked in: /gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/lib/cmake/Qt5Network
-- essential module Qt5Test found (). Looked in: /gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/lib/cmake/Qt5Test
-- essential module Qt5Concurrent found (). Looked in: /gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/lib/cmake/Qt5Concurrent
-- skipped module Qt5X11Extras is essential!
   We do not guarantee that all tests are working.. Looked in: /gnu/store/3nr3fwrk6bpwrg3s68lrpcj024mpqjvq-qtx11extras-5.15.2/lib/cmake/Qt5X11Extras
-- optional module Qt5Xml found (). Looked in: /gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/lib/cmake/Qt5Xml
-- optional module Qt5XmlPatterns skipped. Looked in: /gnu/store/f96i1vssl11vk483570ki90g56mhpiz1-qtxmlpatterns-5.15.2/lib/cmake/Qt5XmlPatterns
-- optional module Qt5Help skipped. Looked in: /gnu/store/3cpa4lv4gx2nkiyvg4xkcalvvjv6y1vq-qttools-5.15.2/lib/cmake/Qt5Help
-- optional module Qt5Multimedia skipped. Looked in: /gnu/store/dk284553z4sgpd0jivggham4i70z1b65-qtmultimedia-5.15.2/lib/cmake/Qt5Multimedia
-- optional module Qt5MultimediaWidgets skipped. Looked in: /gnu/store/dk284553z4sgpd0jivggham4i70z1b65-qtmultimedia-5.15.2/lib/cmake/Qt5MultimediaWidgets
-- optional module Qt5OpenGL found (). Looked in: /gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/lib/cmake/Qt5OpenGL
-- optional module Qt5OpenGLFunctions found (). Looked in: /gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/lib/cmake/Qt5Gui
-- optional module Qt5Positioning skipped. Looked in: /gnu/store/9f37skxk4yjfqfhv96a74q1yjk3mflbj-qtlocation-5.15.2/lib/cmake/Qt5Positioning
-- optional module Qt5Location skipped. Looked in: /gnu/store/9f37skxk4yjfqfhv96a74q1yjk3mflbj-qtlocation-5.15.2/lib/cmake/Qt5Location
-- optional module Qt5Qml skipped. Looked in: /gnu/store/19bs1fiffjv2p9m0l7qvf7myv5k8yi1g-qtdeclarative-5.15.2/lib/cmake/Qt5Qml
-- optional module Qt5Quick skipped. Looked in: /gnu/store/19bs1fiffjv2p9m0l7qvf7myv5k8yi1g-qtdeclarative-5.15.2/lib/cmake/Qt5Quick
...
--8<---------------cut here---------------end--------------->8---

If we can get python-pyside-2 to detect Qt modules and their headers
correctly, it should fix FreeCAD automatically.