Bug 2048781

Summary: shiboken2 does not find type_traits
Product: [Fedora] Fedora Reporter: Kevin Kofler <kevin>
Component: python-pyside2Assignee: Richard Shaw <hobbes1069>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: 36CC: hobbes1069, laurent.rineau__fedora, tuju
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-09-12 15:25:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1990768    
Bug Blocks: 1749896    

Description Kevin Kofler 2022-01-31 19:41:10 UTC
Description of problem:
In a Rawhide build target (I have not tried F35, the shiboken2 is apparently the same, but the toolchain is not), shiboken2 fails to find the GCC or Clang header stddef.h.

Version-Release number of selected component (if applicable):
shiboken2-1:5.15.2-5.fc35

How reproducible:
Always

Steps to Reproduce:
1. Try to build Falkon with Python support.

Actual results:
(pyfalkon) Errors in -DQT_ANNOTATE_CLASS(type,...)=static_assert(sizeof(#__VA_ARGS__),#type);:
/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/cstddef:50:10: fatal: 'stddef.h' file not found
   /tmp/pyfalkon_global_dfdkIE.hpp:1:10: note: in file included from /tmp/pyfalkon_global_dfdkIE.hpp:1:
   /builddir/build/BUILD/falkon-3.2.0/src/plugins/PyFalkon/pyfalkon_global.h:23:10: note: in file included from /builddir/build/BUILD/falkon-3.2.0/src/plugins/PyFalkon/pyfalkon_global.h:23:
   /usr/include/qt5/QtNetwork/QHstsPolicy:1:10: note: in file included from /usr/include/qt5/QtNetwork/QHstsPolicy:1:
   /usr/include/qt5/QtNetwork/qhstspolicy.h:43:10: note: in file included from /usr/include/qt5/QtNetwork/qhstspolicy.h:43:
   /usr/include/qt5/QtNetwork/qtnetworkglobal.h:43:10: note: in file included from /usr/include/qt5/QtNetwork/qtnetworkglobal.h:43:
   /usr/include/qt5/QtCore/qglobal.h:46:12: note: in file included from /usr/include/qt5/QtCore/qglobal.h:46:
(pyfalkon) Clang: 1 diagnostic messages:
  /usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/cstddef:50:10: fatal: 'stddef.h' file not found
   /tmp/pyfalkon_global_dfdkIE.hpp:1:10: note: in file included from /tmp/pyfalkon_global_dfdkIE.hpp:1:
   /builddir/build/BUILD/falkon-3.2.0/src/plugins/PyFalkon/pyfalkon_global.h:23:10: note: in file included from /builddir/build/BUILD/falkon-3.2.0/src/plugins/PyFalkon/pyfalkon_global.h:23:
   /usr/include/qt5/QtNetwork/QHstsPolicy:1:10: note: in file included from /usr/include/qt5/QtNetwork/QHstsPolicy:1:
   /usr/include/qt5/QtNetwork/qhstspolicy.h:43:10: note: in file included from /usr/include/qt5/QtNetwork/qhstspolicy.h:43:
   /usr/include/qt5/QtNetwork/qtnetworkglobal.h:43:10: note: in file included from /usr/include/qt5/QtNetwork/qtnetworkglobal.h:43:
   /usr/include/qt5/QtCore/qglobal.h:46:12: note: in file included from /usr/include/qt5/QtCore/qglobal.h:46:
Keeping temporary file: /tmp/pyfalkon_global_dfdkIE.hpp
shiboken: Error running ApiExtractor.
Command line: --generator-set=shiboken --enable-parent-ctor-heuristic --enable-pyside-extensions --enable-return-value-heuristic --use-isnull-as-nb_nonzero --avoid-protected-hack -I/usr/include/qt5/ -I/usr/include/qt5/QtCore -I/usr/lib64/qt5//mkspecs/linux-g++ -I/usr/include/qt5/ -I/usr/include/qt5/QtGui -I/usr/include/qt5/ -I/usr/include/qt5/QtSql -I/usr/include/qt5/ -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/ -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/ -I/usr/include/qt5/QtWebEngineCore -I/usr/include/qt5/ -I/usr/include/qt5/QtWebEngineWidgets -I/builddir/build/BUILD/falkon-3.2.0/src/lib/3rdparty -I/builddir/build/BUILD/falkon-3.2.0/src/lib/adblock -I/builddir/build/BUILD/falkon-3.2.0/src/lib/app -I/builddir/build/BUILD/falkon-3.2.0/src/lib/autofill -I/builddir/build/BUILD/falkon-3.2.0/src/lib/bookmarks -I/builddir/build/BUILD/falkon-3.2.0/src/lib/cookies -I/builddir/build/BUILD/falkon-3.2.0/src/lib/downloads -I/builddir/build/BUILD/falkon-3.2.0/src/lib/history -I/builddir/build/BUILD/falkon-3.2.0/src/lib/navigation -I/builddir/build/BUILD/falkon-3.2.0/src/lib/network -I/builddir/build/BUILD/falkon-3.2.0/src/lib/notifications -I/builddir/build/BUILD/falkon-3.2.0/src/lib/opensearch -I/builddir/build/BUILD/falkon-3.2.0/src/lib/other -I/builddir/build/BUILD/falkon-3.2.0/src/lib/plugins -I/builddir/build/BUILD/falkon-3.2.0/src/lib/popupwindow -I/builddir/build/BUILD/falkon-3.2.0/src/lib/preferences -I/builddir/build/BUILD/falkon-3.2.0/src/lib/session -I/builddir/build/BUILD/falkon-3.2.0/src/lib/sidebar -I/builddir/build/BUILD/falkon-3.2.0/src/lib/tabwidget -I/builddir/build/BUILD/falkon-3.2.0/src/lib/tools -I/builddir/build/BUILD/falkon-3.2.0/src/lib/webengine -I/builddir/build/BUILD/falkon-3.2.0/src/lib/webtab -I/builddir/build/BUILD/falkon-3.2.0/src/lib/3rdparty -I/builddir/build/BUILD/falkon-3.2.0/src/lib/adblock -I/builddir/build/BUILD/falkon-3.2.0/src/lib/app -I/builddir/build/BUILD/falkon-3.2.0/src/lib/autofill -I/builddir/build/BUILD/falkon-3.2.0/src/lib/bookmarks -I/builddir/build/BUILD/falkon-3.2.0/src/lib/cookies -I/builddir/build/BUILD/falkon-3.2.0/src/lib/downloads -I/builddir/build/BUILD/falkon-3.2.0/src/lib/history -I/builddir/build/BUILD/falkon-3.2.0/src/lib/navigation -I/builddir/build/BUILD/falkon-3.2.0/src/lib/network -I/builddir/build/BUILD/falkon-3.2.0/src/lib/notifications -I/builddir/build/BUILD/falkon-3.2.0/src/lib/opensearch -I/builddir/build/BUILD/falkon-3.2.0/src/lib/other -I/builddir/build/BUILD/falkon-3.2.0/src/lib/plugins -I/builddir/build/BUILD/falkon-3.2.0/src/lib/popupwindow -I/builddir/build/BUILD/falkon-3.2.0/src/lib/preferences -I/builddir/build/BUILD/falkon-3.2.0/src/lib/session -I/builddir/build/BUILD/falkon-3.2.0/src/lib/sidebar -I/builddir/build/BUILD/falkon-3.2.0/src/lib/tabwidget -I/builddir/build/BUILD/falkon-3.2.0/src/lib/tools -I/builddir/build/BUILD/falkon-3.2.0/src/lib/webengine -I/builddir/build/BUILD/falkon-3.2.0/src/lib/webtab -I/usr/include -I/usr/include/qt5/ -I/usr/include/qt5/QtWebEngine -T/usr/share/PySide2/typesystems --output-directory=/builddir/build/BUILD/falkon-3.2.0/x86_64-redhat-linux-gnu/src/plugins/PyFalkon --api-version=5.15 /builddir/build/BUILD/falkon-3.2.0/src/plugins/PyFalkon/pyfalkon_global.h /builddir/build/BUILD/falkon-3.2.0/src/plugins/PyFalkon/typesystem_pyfalkon.xml
make[2]: *** [src/plugins/PyFalkon/CMakeFiles/PyFalkon_autogen.dir/build.make:162: src/plugins/PyFalkon/PyFalkon/pyfalkon_module_wrapper.cpp] Error 1
make[2]: Leaving directory '/builddir/build/BUILD/falkon-3.2.0/x86_64-redhat-linux-gnu'
make[1]: *** [CMakeFiles/Makefile2:30462: src/plugins/PyFalkon/CMakeFiles/PyFalkon_autogen.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Expected results:
No error.

Additional info:
Possibly due to the package being built against an old toolchain? The rebuild in the F36 mass rebuild failed.

Comment 1 Kevin Kofler 2022-02-02 00:58:32 UTC
Seems fixed, except we now get a new error (this is from the aarch64 build, the x86_64 one hit a segmentation fault while trying to produce the error output, so the output is incomplete there):

(pyfalkon) Clang: 1 diagnostic messages:
  /usr/include/qt5/QtCore/qglobal.h:45:12: fatal: 'type_traits' file not found
   /tmp/pyfalkon_global_xlYJjC.hpp:1:10: note: in file included from /tmp/pyfalkon_global_xlYJjC.hpp:1:
   /builddir/build/BUILD/falkon-3.2.0/src/plugins/PyFalkon/pyfalkon_global.h:23:10: note: in file included from /builddir/build/BUILD/falkon-3.2.0/src/plugins/PyFalkon/pyfalkon_global.h:23:
   /usr/include/qt5/QtNetwork/QHstsPolicy:1:10: note: in file included from /usr/include/qt5/QtNetwork/QHstsPolicy:1:
   /usr/include/qt5/QtNetwork/qhstspolicy.h:43:10: note: in file included from /usr/include/qt5/QtNetwork/qhstspolicy.h:43:
   /usr/include/qt5/QtNetwork/qtnetworkglobal.h:43:10: note: in file included from /usr/include/qt5/QtNetwork/qtnetworkglobal.h:43:
Keeping temporary file: /tmp/pyfalkon_global_xlYJjC.hpp
shiboken: Error running ApiExtractor.
Command line: --generator-set=shiboken --enable-parent-ctor-heuristic --enable-pyside-extensions --enable-return-value-heuristic --use-isnull-as-nb_nonzero --avoid-protected-hack -I/usr/include/qt5/ -I/usr/include/qt5/QtCore -I/usr/lib64/qt5//mkspecs/linux-g++ -I/usr/include/qt5/ -I/usr/include/qt5/QtGui -I/usr/include/qt5/ -I/usr/include/qt5/QtSql -I/usr/include/qt5/ -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/ -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/ -I/usr/include/qt5/QtWebEngineCore -I/usr/include/qt5/ -I/usr/include/qt5/QtWebEngineWidgets -I/builddir/build/BUILD/falkon-3.2.0/src/lib/3rdparty -I/builddir/build/BUILD/falkon-3.2.0/src/lib/adblock -I/builddir/build/BUILD/falkon-3.2.0/src/lib/app -I/builddir/build/BUILD/falkon-3.2.0/src/lib/autofill -I/builddir/build/BUILD/falkon-3.2.0/src/lib/bookmarks -I/builddir/build/BUILD/falkon-3.2.0/src/lib/cookies -I/builddir/build/BUILD/falkon-3.2.0/src/lib/downloads -I/builddir/build/BUILD/falkon-3.2.0/src/lib/history -I/builddir/build/BUILD/falkon-3.2.0/src/lib/navigation -I/builddir/build/BUILD/falkon-3.2.0/src/lib/network -I/builddir/build/BUILD/falkon-3.2.0/src/lib/notifications -I/builddir/build/BUILD/falkon-3.2.0/src/lib/opensearch -I/builddir/build/BUILD/falkon-3.2.0/src/lib/other -I/builddir/build/BUILD/falkon-3.2.0/src/lib/plugins -I/builddir/build/BUILD/falkon-3.2.0/src/lib/popupwindow -I/builddir/build/BUILD/falkon-3.2.0/src/lib/preferences -I/builddir/build/BUILD/falkon-3.2.0/src/lib/session -I/builddir/build/BUILD/falkon-3.2.0/src/lib/sidebar -I/builddir/build/BUILD/falkon-3.2.0/src/lib/tabwidget -I/builddir/build/BUILD/falkon-3.2.0/src/lib/tools -I/builddir/build/BUILD/falkon-3.2.0/src/lib/webengine -I/builddir/build/BUILD/falkon-3.2.0/src/lib/webtab -I/builddir/build/BUILD/falkon-3.2.0/src/lib/3rdparty -I/builddir/build/BUILD/falkon-3.2.0/src/lib/adblock -I/builddir/build/BUILD/falkon-3.2.0/src/lib/app -I/builddir/build/BUILD/falkon-3.2.0/src/lib/autofill -I/builddir/build/BUILD/falkon-3.2.0/src/lib/bookmarks -I/builddir/build/BUILD/falkon-3.2.0/src/lib/cookies -I/builddir/build/BUILD/falkon-3.2.0/src/lib/downloads -I/builddir/build/BUILD/falkon-3.2.0/src/lib/history -I/builddir/build/BUILD/falkon-3.2.0/src/lib/navigation -I/builddir/build/BUILD/falkon-3.2.0/src/lib/network -I/builddir/build/BUILD/falkon-3.2.0/src/lib/notifications -I/builddir/build/BUILD/falkon-3.2.0/src/lib/opensearch -I/builddir/build/BUILD/falkon-3.2.0/src/lib/other -I/builddir/build/BUILD/falkon-3.2.0/src/lib/plugins -I/builddir/build/BUILD/falkon-3.2.0/src/lib/popupwindow -I/builddir/build/BUILD/falkon-3.2.0/src/lib/preferences -I/builddir/build/BUILD/falkon-3.2.0/src/lib/session -I/builddir/build/BUILD/falkon-3.2.0/src/lib/sidebar -I/builddir/build/BUILD/falkon-3.2.0/src/lib/tabwidget -I/builddir/build/BUILD/falkon-3.2.0/src/lib/tools -I/builddir/build/BUILD/falkon-3.2.0/src/lib/webengine -I/builddir/build/BUILD/falkon-3.2.0/src/lib/webtab -I/usr/include -I/usr/include/qt5/ -I/usr/include/qt5/QtWebEngine -T/usr/share/PySide2/typesystems --output-directory=/builddir/build/BUILD/falkon-3.2.0/aarch64-redhat-linux-gnu/src/plugins/PyFalkon --api-version=5.15 /builddir/build/BUILD/falkon-3.2.0/src/plugins/PyFalkon/pyfalkon_global.h /builddir/build/BUILD/falkon-3.2.0/src/plugins/PyFalkon/typesystem_pyfalkon.xml

Comment 2 Richard Shaw 2022-02-02 13:11:43 UTC
Nothing jumps out at me with the error, could this have something to do with Qt being built with gcc and PySide being built with clang?

Comment 4 Kevin Kofler 2022-02-02 14:00:39 UTC
(The problem is that Clang tries to be smart about system headers and assumes that system headers with a .h extension are C headers, not C++, so it does not search for transitively included headers in the C++ search path, only the C one.)

Comment 5 Richard Shaw 2022-02-02 14:07:36 UTC
Scratch build started:
https://koji.fedoraproject.org/koji/taskinfo?taskID=82283795

Let me know if it works and I'll do real builds.

Comment 6 Kevin Kofler 2022-02-02 14:10:24 UTC
The problem is, the scratch build is not in any buildroot, so it is a pain to test whether Falkon builds against it. Even for a local mock build, I have to jump through hoops to get it included. It would be easier to just do an official build.

Comment 7 Richard Shaw 2022-02-03 02:24:57 UTC
Unfortunately I was at work and couldn't kick of a build but it's done now.

Comment 8 Kevin Kofler 2022-02-03 03:29:24 UTC
Unfortunately, the Falkon build still fails with the same error:
https://koji.fedoraproject.org/koji/taskinfo?taskID=82283795

Comment 9 Ben Cotton 2022-02-08 20:18:35 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle.
Changing version to 36.

Comment 10 Richard Shaw 2022-04-18 22:29:38 UTC
Any update on the Falkon front?

Comment 11 Kevin Kofler 2022-04-18 23:43:03 UTC
To be honest, I have not looked into it anymore, because Falkon upstream states in the 3.2 release announcement: "It is unclear if the Python bindings work, they will likely be removed in future releases", so why should I spend time working on enabling them now if they are going away soon? (We have never shipped them so far.)

Comment 12 Richard Shaw 2022-04-21 13:40:41 UTC
From the PYSIDE bug report there does not seem to be a solution proposed as of yet. Does adding the referenced patch improve the situation practically?

Comment 13 Richard Shaw 2022-09-12 14:33:50 UTC
Kevin, should we just close this as CANTFIX?

Comment 14 Kevin Kofler 2022-09-12 15:25:38 UTC
I am closing this UPSTREAM, since it is an upstream issue (still open there) and it seems we are unable to fix this downstream.