3 modified ebuilds from the qt overlay to support qt versions higher than 5.6. These ebuilds switch the git branch depending on the installed qt version.
Created attachment 483344 [details] dev-python/shiboken-9999.ebuild
Created attachment 483346 [details] dev-python/pyside-99999.ebuild
Created attachment 483348 [details] dev-python/pyside-tools-9999.ebuild
Please attach patches to ebuilds, not full ebuilds.
Created attachment 483978 [details, diff] patch for all 3 ebuilds Here is the diff to all 3 ebuilds. Changes: Replace EGIT_BRANCH="5.6" by a src_unpack() function which selects the right branch depending on the installed qt version. Add dev-qt/qtcore:= to RDEPEND to force rebuild if qt get updated Modify the qt version check to accept any version >=5.6
Trailing ' ;' is not needed.
(In reply to bug2017 from comment #5) > Replace EGIT_BRANCH="5.6" by a src_unpack() function which selects the right > branch depending on the installed qt version. This is clearly unacceptable. -9999 should always and only build from the dev branch. If pyside dev branch requires qt dev branch, then we need to adjust the deps accordingly. We can also add -x.y.9999 ebuilds that use the 5.y branch. "x" can be 2, but I can't know for sure until upstream makes a release and decides on a versioning scheme.
In that case I would suggest: 1) Rename the current ebuild to *-5.6.9999 and leave them on the 5.6 branch 2) create a second set of ebuild for the 5.9 or dev branch with *-9999 Maybee it is ok to use only the dev branch. It looks like (parts) 5.6 and 5.9 have been merged into dev https://code.qt.io/cgit/pyside/pyside.git/log/ I can test if the dev branch works (compiles) fine with qt-5.9.1, but I don't have any snapshots with older qt versions.
Yes, but the ebuilds need more changes than just switching branches. AFAIU upstream is now using clang for parsing...
Any progress?
I think the right solutions for this bug is to use the -9999 ebuild for the 5.9 branch, which seems to be compatible with >=qt-5.7. As alterantive the current ebuild could be renamed to -5.6.9999. https://wiki.qt.io/PySide2 mentioned that packaging started to become a discussion point. For the llvm dependency I don't se a big issue here. The 5.9 branch is buildin fine without, because mesa (required by qt) pulls in llvm. I have to check if it is enough to add this dependency to shiboken.
Created attachment 496294 [details] pyside2 build.log
Applied patch, trying to compile sudo ebuild pyside-9999.ebuild clean install returns `/usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/g++-v7/cstddef:50:10: fatal error: 'stddef.h' file not found` Full log attached. Full ebuild: https://notabug.org/soredake/gentoo-overlay/src/master/dev-python/pyside/pyside-9999.ebuild
After https://github.com/gentoo/qt/commit/fa7ed68675611c76a2df33dfa2ddb97b9c2ce8eait build still fails with same error.
(In reply to soredake from comment #14) > After > https://github.com/gentoo/qt/commit/ > fa7ed68675611c76a2df33dfa2ddb97b9c2ce8eait build still fails with same error. What version of clang do you have installed? I had test failures with clang:4 and :5, could be that upstream supports only 3.9.x
(In reply to Davide Pesavento from comment #15) > (In reply to soredake from comment #14) > > After > > https://github.com/gentoo/qt/commit/ > > fa7ed68675611c76a2df33dfa2ddb97b9c2ce8eait build still fails with same error. > > What version of clang do you have installed? I had test failures with > clang:4 and :5, could be that upstream supports only 3.9.x My installed clang is 4.0.1.
I'm having the same problem with clang-5.0.0 and gcc 6.4.0. Is there already some sort of solution ahead? Would really like to get rid of Qt4...
(In reply to Torsten Kurbad from comment #17) > Is there already some sort of solution ahead? Would really like to get rid > of Qt4... No. This is an upstream issue. Use clang-3.9.1
(In reply to Davide Pesavento from comment #18) > (In reply to Torsten Kurbad from comment #17) > > Is there already some sort of solution ahead? Would really like to get rid > > of Qt4... > > No. This is an upstream issue. Use clang-3.9.1 I uninstalled clang 5 and installed clang 3.9.1-r100. The fatal error that stddef.h can not be found still exists.
(In reply to Li Yanrui from comment #19) > I uninstalled clang 5 and installed clang 3.9.1-r100. The fatal error that > stddef.h can not be found still exists. I can confirm that. Additionally, <clang-4 blocks, e.g., blender.
Seems the problem in this line from configure "-with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/include/g++-v7", configure picks first available path (which is does not have stddef.h) from include <...> list (you can get it with `clang -v -x c++ -`) and then clang fails to find stddef.h. Does anyone know how to change the value of a "with-gxx-include-dir"?
shiboken uses clang to generate code. I doesn't make sense to use the gcc headers. Maybe it's a mixup between both compilers. I could fix the shiboken command by by adding "/usr/lib/clang/5.0.0/include/:" to the beginning of the include paths. Maybe a better version independen solution could be: "$(clang -print-resource-dir)/include:" The question is how to get that into the build system.
(In reply to bug2017 from comment #22) > shiboken uses clang to generate code. I doesn't make sense to use the gcc > headers. That's not strange at all. In fact, clang on linux uses gcc's libstdc++ by default. > I could fix the shiboken command by by adding > "/usr/lib/clang/5.0.0/include/:" > to the beginning of the include paths. Maybe a better version independen > solution could be: > "$(clang -print-resource-dir)/include:" > > The question is how to get that into the build system. So are you saying that shiboken requires libc++ instead of libstdc++?
(In reply to Davide Pesavento from comment #23) > (In reply to bug2017 from comment #22) > > shiboken uses clang to generate code. I doesn't make sense to use the gcc > > headers. > > That's not strange at all. In fact, clang on linux uses gcc's libstdc++ by > default. > > > I could fix the shiboken command by by adding > > "/usr/lib/clang/5.0.0/include/:" > > to the beginning of the include paths. Maybe a better version independen > > solution could be: > > "$(clang -print-resource-dir)/include:" > > > > The question is how to get that into the build system. > > So are you saying that shiboken requires libc++ instead of libstdc++? Maybe a little more precise: Shiboken first stepts will process the code like clang would compile c++ file. Fist include all the headers. Many of these of these are provided by libraries and are like libstdc++ compiler independent. But there are a few headers provided by the compiler itself to interface compiler dependent issues. These are port of the compiler package, not of the lib packages. Shiboken processes all includes like any c++ compiler, and somehow it has a incluse search path to the gcc "private" header files. As shiboken is derived from llvm/clang it should include the headers from llvm instead. I don't know where shiboken picks up the wrong path. Hacking the right one into the argument parser makes the shiboken build fail.
An arch user workt around the issue: https://aur.archlinux.org/packages/python-pyside2-git/ Shiboken needs to be build with clang. It somehow remembers the compilers include/resource dir. My temporary workaround: /bin/bash export CC=/usr/bin/clang export CXX=/usr/bin/clang++ emerge -av =dev-python/shiboken-9999 =dev-python/pyside-9999 exit I don't know if pyside has to be build with clang too, building and testing will take some time.
Created attachment 509268 [details, diff] pyside-shiboken-qt5.10.diff fix the ebuilds from qt overlay, so the qt-5.10 update does not get blocked
Created attachment 509358 [details, diff] pyside-shiboken-qt5.10.diff Two fixes against the ebuilds from the overlay: 1) Don't block qt-5.10 2) Use clang to build shiboken, so that building pyside:2 doesn't fail.
(In reply to bug2017 from comment #27) > Created attachment 509358 [details, diff] [details, diff] > pyside-shiboken-qt5.10.diff > > Two fixes against the ebuilds from the overlay: > 1) Don't block qt-5.10 > 2) Use clang to build shiboken, so that building pyside:2 doesn't fail. Patch applied fine, and shiboken-9999 compiled fine, but pyside-9999 failed on: qt.shiboken: (webkitwidgets) Can't find typesystem_printsupport.xml, current path: /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets, typesystem paths: /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2, /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2, /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets Cannot parse file: /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets/typesystem_webkitwidgets.xmlshiboken: Error running ApiExtractor. $ emerge --info '=dev-python/pyside-9999::qt' Portage 2.3.12 (python 3.4.6-final-0, hardened/linux/amd64/no-multilib, gcc-5.4.0, glibc-2.26-r3, 4.14.2-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.14.2-gentoo-x86_64-Intel-R-_Core-TM-_i7-2620M_CPU_@_2.70GHz-with-gentoo-2.4.1 KiB Mem: 16346092 total, 1795880 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Wed, 13 Dec 2017 23:43:48 +0000 Head commit of repository gentoo: f7cc8ef068210a56f86088f92c93b9d08b3a0338 sh bash 4.4_p12 ld GNU ld (Gentoo 2.29.1 p2) 2.29.1 distcc 3.2rc1 x86_64-pc-linux-gnu [disabled] ccache version 3.3.4 [disabled] app-shells/bash: 4.4_p12::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.26.1::gentoo dev-lang/python: 2.7.14-r1::gentoo, 3.4.6-r1::gentoo, 3.6.3-r1::gentoo dev-util/ccache: 3.3.4-r1::gentoo dev-util/cmake: 3.9.4::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.4.1-r2::gentoo sys-apps/openrc: 0.33.1::gentoo sys-apps/sandbox: 2.12::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.15.1-r1::gentoo sys-devel/binutils: 2.29.1-r1::gentoo sys-devel/gcc: 5.4.0-r3::gentoo, 6.4.0::gentoo sys-devel/gcc-config: 1.9.0::gentoo sys-devel/libtool: 2.4.6-r4::gentoo sys-devel/make: 4.2.1-r1::gentoo sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers) sys-libs/glibc: 2.26-r3::gentoo Repositories: gentoo location: /usr/portage sync-type: git sync-uri: https://github.com/gentoo-mirror/gentoo priority: -1000 fkmclane location: /var/lib/layman/fkmclane masters: gentoo priority: 50 jakeogh location: /var/lib/layman/jakeogh masters: gentoo priority: 50 qt location: /var/lib/layman/qt masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer -ggdb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer -ggdb" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--quiet-build=y --tree --nospinner" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" INSTALL_MASK="/usr/lib/systemd/ /lib64/systemd/ /lib/systemd/ charset.alias" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="aac alisp alsa amd64 amr apng aspell bzip2 cairo celt clang cli cpudetection cracklib crypt cryptsetup cxx device-mapper dga dirac directfb dmenu dri eudev exif extra ffmpeg fftw fontconfig fortran ftdi geos gif glut gml gnuplot gps graphviz gsm hardened helpers hwdb iconv icu idn imagemagick ipython irqbalance jpeg jpeg2k justify keymap lapack lcms levenshtein libcaca libkms lvm lzma mad man mmx mmxext mng modules mp3 ncat ncurses ndiff netcdf nls nping nptl ntfs numpy ocr offensive ogg oog openal opengl openmp openvg opus osmesa pam pcre pdf pie png postscript pylint python qemu raw readline rtlsdr schroedinger scipy script sdl seccomp session smp smpeg sparse spell spice sql sqlite sse sse2 ssl ssp ssse3 tbb tcpd theora threads tiff tinfo tools truetype udev unicode urandom usb usbredir v4l vaapi vdpau virt-network vorbis vpx wavelet webkit webp wmf x264 x265 xa xattr xcb xetex xpm xtpax xv xvfb xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="cpu cpufreq disk dns entropy ethstat exec hddtemp ipmi iptables mbmon postgresql processes python sensors thermal users vmem df interface irq load memory rrdtool swap syslog zfs_arc" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="emu pc efi-64" INPUT_DEVICES="keyboard synaptics mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby22 ruby24" USERLAND="GNU" VIDEO_CARDS="nouveau intel qxl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 509982 [details] dev-python/pyside-9999::qt build.log (zipped) Sorry for the .zip, it was too large otherwise. Contains many warnings like: qt.shiboken: (printsupport) enum 'QGraphicsPathItem::Type' does not have a type entry or is not an enum
i used slightly modified approach from comment #25 and both shiboken and pyside compiled and merged fine. if not using this approach, i got error stating that stddef.h could not be found. /bin/bash export CC=/usr/lib/llvm/5/bin/clang export CXX=/usr/lib/llvm/5/bin/clang++ emerge -av1 =dev-python/shiboken-9999 =dev-python/pyside-9999 exit
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=1c4b5030fc575bc2a7ed66b59e42c6dce9599543 commit 1c4b5030fc575bc2a7ed66b59e42c6dce9599543 Author: Davide Pesavento <pesa@gentoo.org> AuthorDate: 2017-12-30 21:24:49 +0000 Commit: Davide Pesavento <pesa@gentoo.org> CommitDate: 2017-12-30 21:25:21 +0000 dev-python/shiboken: fix detection of clang builtin includes Bug: https://bugs.gentoo.org/624682 Package-Manager: Portage-2.3.19, Repoman-2.3.6 dev-python/shiboken/shiboken-9999.ebuild | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)}
(In reply to Larry the Git Cow from comment #31) > The bug has been referenced in the following commit(s): > > https://gitweb.gentoo.org/proj/qt.git/commit/ > ?id=1c4b5030fc575bc2a7ed66b59e42c6dce9599543 Please try again and let me know if this commit fixes things. shiboken works fine for me, including tests, with qt 5.9.3 and clang 5.0.1.
I upgraded to gcc 7.2.0, rebuilt everything over the last week, made sure --depclean was happy, synced up portage and the qt overlay (making sure I got the latest changes that were committed a few hours ago), and just hit the same pyside build error: make[2]: Entering directory '/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7' [ 95%] Running generator for QtWebKitWidgets... cd /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets && /usr/bin/shiboken2 --generator-set=shiboken --enable-parent-ctor-heuristic --enable-pyside-extensions --enable-return-value-heuristic --use-isnull-as-nb_nonzero /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets_global.h --include-paths=/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2:/usr/include/qt5/ --typesystem-paths=/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2:/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2:/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets --output-directory=/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets --license-file=/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets/../licensecomment.txt /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets/typesystem_webkitwidgets.xml --api-version=5.10 --drop-type-entries="" qt.shiboken: (webkitwidgets) Can't find typesystem_printsupport.xml, current path: /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets, typesystem paths: /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2, /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2, /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets Cannot parse file: /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets/typesystem_webkitwidgets.xmlshiboken: Error running ApiExtractor. Command line: --generator-set=shiboken --enable-parent-ctor-heuristic --enable-pyside-extensions --enable-return-value-heuristic --use-isnull-as-nb_nonzero /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets_global.h --include-paths=/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2:/usr/include/qt5/ --typesystem-paths=/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2:/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2:/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets --output-directory=/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets --license-file=/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets/../licensecomment.txt /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets/typesystem_webkitwidgets.xml --api-version=5.10 --drop-type-entries= make[2]: *** [PySide2/QtWebKitWidgets/CMakeFiles/QtWebKitWidgets.dir/build.make:68: PySide2/QtWebKitWidgets/PySide2/QtWebKitWidgets/qgraphicswebview_wrapper.cpp] Error 1 make[2]: Leaving directory '/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7' make[1]: *** [CMakeFiles/Makefile2:874: PySide2/QtWebKitWidgets/CMakeFiles/QtWebKitWidgets.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... $ emerge --info '=dev-python/pyside-9999::qt' Portage 2.3.19 (python 3.4.6-final-0, hardened/linux/amd64/no-multilib, gcc-7.2.0, glibc-2.26-r3, 4.14.7-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.14.7-gentoo-x86_64-Intel-R-_Core-TM-_i7-2620M_CPU_@_2.70GHz-with-gentoo-2.4.1 KiB Mem: 16345228 total, 1155192 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Sun, 31 Dec 2017 01:33:56 +0000 Head commit of repository gentoo: 035a6ab42f6dd3b279ee8cf2139e64fbff753288 sh bash 4.4_p12 ld GNU ld (Gentoo 2.29.1 p3) 2.29.1 distcc 3.2rc1 x86_64-pc-linux-gnu [disabled] ccache version 3.3.4 [disabled] app-shells/bash: 4.4_p12::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.26.1-r1::gentoo dev-lang/python: 2.7.14-r1::gentoo, 3.4.6-r1::gentoo, 3.6.3-r1::gentoo dev-util/ccache: 3.3.4-r1::gentoo dev-util/cmake: 3.10.1::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.4.1-r2::gentoo sys-apps/openrc: 0.34.11::gentoo sys-apps/sandbox: 2.12::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.15.1-r1::gentoo sys-devel/binutils: 2.29.1-r1::gentoo sys-devel/gcc: 7.2.0::gentoo sys-devel/gcc-config: 1.9.1::gentoo sys-devel/libtool: 2.4.6-r4::gentoo sys-devel/make: 4.2.1-r1::gentoo sys-kernel/linux-headers: 4.14::gentoo (virtual/os-headers) sys-libs/glibc: 2.26-r3::gentoo Repositories: gentoo location: /usr/portage sync-type: git sync-uri: https://github.com/gentoo-mirror/gentoo priority: -1000 fkmclane location: /var/lib/layman/fkmclane masters: gentoo priority: 50 jakeogh location: /var/lib/layman/jakeogh masters: gentoo priority: 50 qt location: /var/lib/layman/qt masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nehalem -mtune=generic -O2 -pipe -fomit-frame-pointer -ggdb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=nehalem -mtune=generic -O2 -pipe -fomit-frame-pointer -ggdb" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--quiet-build=y --tree --nospinner" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" INSTALL_MASK="/usr/lib/systemd/ /lib64/systemd/ /lib/systemd/ charset.alias" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="aac alisp alsa amd64 amr apng aspell bzip2 cairo celt clang cli cpudetection cracklib crypt cryptsetup cxx device-mapper dga dirac directfb dmenu dri eudev exif extra ffmpeg fftw fontconfig fortran ftdi geos gif glut gml gnuplot gps graphviz gsm hardened helpers hwdb iconv icu idn imagemagick ipython irqbalance jpeg jpeg2k keymap lapack lcms levenshtein libcaca libkms lvm lzma mad man mmx mmxext mng modules mp3 ncat ncurses ndiff netcdf nls nping nptl ntfs numpy ocr offensive ogg oog openal opengl openmp openvg opus osmesa pam pcre pdf pie png postscript pylint python qemu raw readline rtlsdr schroedinger scipy script sdl seccomp session smp smpeg sparse spell spice sql sqlite sse sse2 ssl ssp ssse3 tbb tcpd theora threads tiff tinfo tools truetype udev unicode urandom usb usbredir v4l vaapi vdpau virt-network vorbis vpx wavelet webkit webp wmf x264 x265 xa xattr xcb xetex xpm xtpax xv xvfb xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="cpu cpufreq disk dns entropy ethstat exec hddtemp ipmi iptables mbmon postgresql processes python sensors thermal users vmem df interface irq load memory rrdtool swap syslog zfs_arc" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="emu pc efi-64" INPUT_DEVICES="keyboard synaptics mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby23 ruby 24 ruby25" USERLAND="GNU" VIDEO_CARDS="nouveau intel qxl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS failed build: These are the packages that would be merged, in reverse order: Calculating dependencies .. ... done! [ebuild N ] dev-python/predictit-0.0.1::jakeogh PYTHON_TARGETS="python3_4 -python3_5" 0 KiB [ebuild N *] dev-python/pyside-9999:2::qt USE="gui network opengl printsupport script sql svg webkit widgets -charts -concurrent -datavis -declarative -designer -help -multimedia -scripttools {-test} -testlib -webchannel -webengine -websockets -x11extras -xmlpatterns" PYTHON_TARGETS="python2_7 python3_4 -python3_5 -python3_6" 0 KiB [ebuild N *] dev-python/shiboken-9999:2::qt USE="numpy {-test}" PYTHON_TARGETS="python2_7 python3_4 -python3_5 -python3_6" 0 KiB [ebuild N ] dev-qt/qtxmlpatterns-5.10.0:5/5.10::qt USE="-debug {-test}" 0 KiB [ebuild N ] dev-python/matplotlib-2.1.0-r1::gentoo USE="cairo -doc -examples -excel -gtk2 -gtk3 -latex -pyside -qt5 {-test} -tk -wxwidgets" PYTHON_TARGETS="python2_7 python3_4 -python3_5 -python3_6" 0 KiB [ebuild N ] media-fonts/stix-fonts-2.0.0::gentoo USE="-X" 0 KiB [ebuild N ] dev-python/versioneer-0.16::gentoo PYTHON_TARGETS="python2_7 python3_4 -pypy -python3_5 -python3_6" 0 KiB [ebuild N ] media-libs/qhull-2015.2::gentoo USE="-doc -static-libs" 0 KiB [ebuild N ] dev-python/subprocess32-3.2.7::gentoo USE="{-test}" PYTHON_TARGETS="python2_7" 0 KiB [ebuild N ] dev-python/cycler-0.10.0::gentoo USE="{-test}" PYTHON_TARGETS="python2_7 python3_4 -python3_5 -python3_6" 0 KiB Total: 10 packages (10 new), Size of downloads: 0 KiB >>> Verifying ebuild manifests >>> Emerging (1 of 10) dev-python/cycler-0.10.0::gentoo >>> Installing (1 of 10) dev-python/cycler-0.10.0::gentoo >>> Emerging (2 of 10) dev-python/subprocess32-3.2.7::gentoo >>> Installing (2 of 10) dev-python/subprocess32-3.2.7::gentoo >>> Emerging (3 of 10) media-libs/qhull-2015.2::gentoo >>> Installing (3 of 10) media-libs/qhull-2015.2::gentoo >>> Emerging (4 of 10) dev-python/versioneer-0.16::gentoo >>> Installing (4 of 10) dev-python/versioneer-0.16::gentoo >>> Emerging (5 of 10) media-fonts/stix-fonts-2.0.0::gentoo >>> Installing (5 of 10) media-fonts/stix-fonts-2.0.0::gentoo >>> Emerging (6 of 10) dev-python/matplotlib-2.1.0-r1::gentoo >>> Installing (6 of 10) dev-python/matplotlib-2.1.0-r1::gentoo >>> Emerging (7 of 10) dev-qt/qtxmlpatterns-5.10.0::qt >>> Installing (7 of 10) dev-qt/qtxmlpatterns-5.10.0::qt >>> Emerging (8 of 10) dev-python/shiboken-9999::qt >>> Installing (8 of 10) dev-python/shiboken-9999::qt >>> Emerging (9 of 10) dev-python/pyside-9999::qt >>> Failed to emerge dev-python/pyside-9999, Log file: >>> '/var/tmp/portage/dev-python/pyside-9999/temp/build.log'
The file (only) exists in the build dir, but looks like the "current path" and "typesystem paths" do not include: $ find /var -name typesystem_printsupport.xml /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtPrintSupport/typesystem_printsupport.xml
(In reply to Davide Pesavento from comment #32) > Please try again and let me know if this commit fixes things. shiboken works > fine for me, including tests, with qt 5.9.3 and clang 5.0.1. Thanks, built fine for me! Do you think we could add snapshots to portage so that freecad-9999 can be switched to Qt5 and we can finally nuke QtWebkit:4?
(In reply to Justin Keogh from comment #33) > I upgraded to gcc 7.2.0, rebuilt everything over the last week, made sure > --depclean was happy, synced up portage and the qt overlay (making sure I > got the latest changes that were committed a few hours ago), and just hit > the same pyside build error: I haven't looked at pyside yet. My last commit was supposed to fix the "stddef.h not found" error in shiboken only.
Seems to be a wrong path in PySide2/QtWebKitWidgets/typesystem_webkitwidgets.xml, the line: <load-typesystem name="typesystem_printsupport.xml" generate="no"/> should be: <load-typesystem name="QtPrintSupport/typesystem_printsupport.xml" generate="no"/> Does it work with this fix?
(In reply to Andreas Sturmlechner from comment #35) > Do you think we could add snapshots to portage so > that freecad-9999 can be switched to Qt5 and we can finally nuke QtWebkit:4? I think so... let me check if upstream has any release plans (seems not). Anyway, from a quick reading of bug 622726, it doesn't look like a qt5-compatible freecad would be ready for prime time yet. What's the problem with leaving qtwebkit:4 masked a bit longer?
(In reply to Davide Pesavento from comment #37) > Seems to be a wrong path in > PySide2/QtWebKitWidgets/typesystem_webkitwidgets.xml, the line: > > <load-typesystem name="typesystem_printsupport.xml" generate="no"/> > > should be: > > <load-typesystem name="QtPrintSupport/typesystem_printsupport.xml" > generate="no"/> > > Does it work with this fix? It got further (patch attached), but died on a different error: [ 96%] Building CXX object PySide2/QtWebKitWidgets/CMakeFiles/QtWebKitWidgets.dir/PySide2/QtWebKitWidgets/qwebdatabase_wrapper.cpp.o cd /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets && /usr/bin/x86_64-pc-linux-gnu-g++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQtWebKitWidgets_EXPORTS -I/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets/QtWebKitWidgets -I/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2/QtWebKitWidgets -I/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtWebKit -isystem /usr/include/qt5/QtNetwork -I/usr/include/qt5/QtPrintSupport -isystem /usr/include/qt5/QtWebKitWidgets -I/usr/include/shiboken2 -I/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/libpyside -I/usr/include/python2.7 -I/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtCore/PySide2/QtCore -I/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtGui/PySide2/QtGui -I/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWidgets/PySide2/QtWidgets -I/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtPrintSupport/PySide2/QtPrintSupport -I/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKit/PySide2/QtWebKit -I/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtNetwork/PySide2/QtNetwork -I/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2/PySide2 -DNDEBUG -march=nehalem -mtune=generic -O2 -pipe -fomit-frame-pointer -ggdb -Wall -fvisibility=hidden -Wno-strict-aliasing -fPIC -fPIC -std=gnu++11 -o CMakeFiles/QtWebKitWidgets.dir/PySide2/QtWebKitWidgets/qwebdatabase_wrapper.cpp.o -c /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets/PySide2/QtWebKitWidgets/qwebdatabase_wrapper.cpp /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets/PySide2/QtWebKitWidgets/qwebdatabase_wrapper.cpp: In function ‘int Sbk_QWebDatabase_Init(PyObject*, PyObject*, PyObject*)’: /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets/PySide2/QtWebKitWidgets/qwebdatabase_wrapper.cpp:108:55: error: no matching function for call to ‘QWebDatabase::QWebDatabase()’ ::QWebDatabase cppArg0_local = ::QWebDatabase(); ^ In file included from /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKit/PySide2/QtWebKit/pyside2_qtwebkit_python.h:61:0, from /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets/PySide2/QtWebKitWidgets/pyside2_qtwebkitwidgets_python.h:59, from /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets/PySide2/QtWebKitWidgets/qwebdatabase_wrapper.cpp:57: /usr/include/qt5/QtWebKit/qwebdatabase.h:51:5: note: candidate: QWebDatabase::QWebDatabase(QWebDatabasePrivate*) QWebDatabase(QWebDatabasePrivate* priv); ^~~~~~~~~~~~ /usr/include/qt5/QtWebKit/qwebdatabase.h:51:5: note: candidate expects 1 argument, 0 provided /usr/include/qt5/QtWebKit/qwebdatabase.h:36:5: note: candidate: QWebDatabase::QWebDatabase(const QWebDatabase&) QWebDatabase(const QWebDatabase& other); ^~~~~~~~~~~~ /usr/include/qt5/QtWebKit/qwebdatabase.h:36:5: note: candidate expects 1 argument, 0 provided /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets/PySide2/QtWebKitWidgets/qwebdatabase_wrapper.cpp: In function ‘PyObject* Sbk_QWebDatabaseFunc_removeDatabase(PyObject*, PyObject*)’: /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets/PySide2/QtWebKitWidgets/qwebdatabase_wrapper.cpp:324:55: error: no matching function for call to ‘QWebDatabase::QWebDatabase()’ ::QWebDatabase cppArg0_local = ::QWebDatabase(); ^ In file included from /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKit/PySide2/QtWebKit/pyside2_qtwebkit_python.h:61:0, from /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets/PySide2/QtWebKitWidgets/pyside2_qtwebkitwidgets_python.h:59, from /var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7/PySide2/QtWebKitWidgets/PySide2/QtWebKitWidgets/qwebdatabase_wrapper.cpp:57: /usr/include/qt5/QtWebKit/qwebdatabase.h:51:5: note: candidate: QWebDatabase::QWebDatabase(QWebDatabasePrivate*) QWebDatabase(QWebDatabasePrivate* priv); ^~~~~~~~~~~~ /usr/include/qt5/QtWebKit/qwebdatabase.h:51:5: note: candidate expects 1 argument, 0 provided /usr/include/qt5/QtWebKit/qwebdatabase.h:36:5: note: candidate: QWebDatabase::QWebDatabase(const QWebDatabase&) QWebDatabase(const QWebDatabase& other); ^~~~~~~~~~~~ /usr/include/qt5/QtWebKit/qwebdatabase.h:36:5: note: candidate expects 1 argument, 0 provided make[2]: *** [PySide2/QtWebKitWidgets/CMakeFiles/QtWebKitWidgets.dir/build.make:169: PySide2/QtWebKitWidgets/CMakeFiles/QtWebKitWidgets.dir/PySide2/QtWebKitWidgets/qwebdatabase_wrapper.cpp.o] Error 1 make[2]: Leaving directory '/var/tmp/portage/dev-python/pyside-9999/work/pyside-9999/sources/pyside2-python2_7' make[2]: *** Waiting for unfinished jobs....
Created attachment 512370 [details, diff] path fix
(In reply to Justin Keogh from comment #39) > It got further (patch attached), but died on a different error: > > qwebdatabase_wrapper.cpp:108:55: error: no matching function for call to > ‘QWebDatabase::QWebDatabase()’ > ::QWebDatabase cppArg0_local = ::QWebDatabase(); > ^ Indeed QWebDatabase doesn't have a default constructor, so I'm guessing shiboken is generating incorrect bindings. You have to report this upstream because I don't know how to fix it.
ev-python/pyside-9999::qt broke today -> [dev-python/pyside:2] https://code.qt.io/pyside/pyside-setup.git [5.9] --> update from e3837eabc5b01d49c79dcf968fce965b5e22ac2f to 5d5eed53e49f4aaea85ce1638dd6fa3774a960e0 ..... -- optional module Qt5WebSockets found () -- Detected OS: x11 -- PySide will be generated using the protected hack! * ACCESS DENIED: chmod: /usr/share/PySide2/typesystems/typesystem_core_common.xml * ACCESS DENIED: fopen_wr: /usr/share/PySide2/typesystems/typesystem_core_common.xml CMake Error at cmake/Macros/PySideModules.cmake:134 (file): file failed to open for writing (Permission denied): /usr/share/PySide2/typesystems/typesystem_core_common.xml Call Stack (most recent call first): PySide2/QtCore/CMakeLists.txt:179 (create_pyside_module) ...... Many sandbox violations follow
The build is now ok if all useflags (except test) are set. Deactivating webkit breaks the build with some cmake errors: -- optional module Qt5WebChannel skipped -- optional module Qt5WebEngineWidgets skipped CMake Error at CMakeLists.txt:246 (if): if given arguments: "AND" "/usr/include" "STREQUAL" "/" Unknown arguments specified Call Stack (most recent call first): CMakeLists.txt:300 (COLLECT_MODULE_IF_FOUND) -- Configuring incomplete, errors occurred!
Created attachment 515168 [details] pyside_buildlog.txt Rebuilding pyside is way to fast. It looks like pyside skips now all important modules: -- skipped module Qt5Core is essential! We do not guarantee that all tests are working. .... Rebuilding freecad after that failed with: fatal error: pyside2_qtcore_python.h: No such file or directory
(In reply to bug2017 from comment #43) > The build is now ok if all useflags (except test) are set. > > Deactivating webkit breaks the build with some cmake errors: > > > -- optional module Qt5WebChannel skipped > -- optional module Qt5WebEngineWidgets skipped > CMake Error at CMakeLists.txt:246 (if): > if given arguments: > > "AND" "/usr/include" "STREQUAL" "/" > > Unknown arguments specified > Call Stack (most recent call first): > CMakeLists.txt:300 (COLLECT_MODULE_IF_FOUND) > > > -- Configuring incomplete, errors occurred! I have reported upstream (https://bugreports.qt.io/browse/PYSIDE-596), already fixed and soon the main pyside repo will be updated. (In reply to Davide Pesavento from comment #41) > (In reply to Justin Keogh from comment #39) > > It got further (patch attached), but died on a different error: > > > > qwebdatabase_wrapper.cpp:108:55: error: no matching function for call to > > ‘QWebDatabase::QWebDatabase()’ > > ::QWebDatabase cppArg0_local = ::QWebDatabase(); > > ^ > > Indeed QWebDatabase doesn't have a default constructor, so I'm guessing > shiboken is generating incorrect bindings. You have to report this upstream > because I don't know how to fix it. Reported upstream (https://bugreports.qt.io/browse/PYSIDE-598), waiting for answer. I am using qtwebkit 5.9.9999
Any news here?
The ebuilds in the qt overlay are working fine. There aren't any informations about release. So freecad might have to depend on these live ebuilds or snapshots for a while.
Looks like there is an versioned release: http://blog.qt.io/blog/2018/06/13/qt-python-5-11-released/ One issue might be the renaming, the oficial downloadable files have PySide2 as name with the qt version number added: http://download.qt.io/official_releases/QtForPython/pyside2/
(In reply to bug2017 from comment #48) > One issue might be the renaming, the oficial downloadable files have PySide2 > as name with the qt version number added: > http://download.qt.io/official_releases/QtForPython/pyside2/ Upstream naming is a complete mess. They're using all of: QtForPython, pyside2, PySide2, plus the tarball is actually named pyside-setup-everywhere-src-5.11.0.tar.xz... /facepalm In gentoo, we'll keep using pyside:2 for now.
(In reply to Davide Pesavento from comment #32) > (In reply to Larry the Git Cow from comment #31) > > The bug has been referenced in the following commit(s): > > > > https://gitweb.gentoo.org/proj/qt.git/commit/ > > ?id=1c4b5030fc575bc2a7ed66b59e42c6dce9599543 > > Please try again and let me know if this commit fixes things. shiboken works > fine for me, including tests, with qt 5.9.3 and clang 5.0.1. Just to let you know that it doesn't work for me as of today with clang 6.0.1 I tried to bump shiboken version to use branch 5.11 as I've spotted a patch that could do the trick: http://code.qt.io/cgit/pyside/pyside-setup.git/commit/?h=5.11&id=cf4dc77a973fa488594a818381cc9f0941a4f940 I tried to toy with the various --system-include-paths= combinations... but to no avail. I'm still getting the "stddef.h not found" error... couldn't come up with something to make it "work" so far. in despair, I've used the "compile everything with clang" workaround...
pyside in the qt overlay doesn't have X useflag while pyside in portage had. Is it OK?
Created attachment 546886 [details, diff] Shiboken patch to find CLANG include dir This function will never find clang includes on gentoo ( http://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp?h=5.11#n264 ) With user patch attached shiboken will compile and also pyside and pyside-tools will be compiled succesfully. It's a dirty hack, but it works at least for cmake 6.0.1 ;-P I'll try to prepare useful ebuilds for 5.11.1
Ebuilds are ready in my overlay: https://github.com/Perlovka/portage-overlay Feel free to copy or I could make pull request either to qt overlay or main tree, if they are ok.
https://github.com/Perlovka/portage-overlay/blob/master/dev-python/pyside/pyside-5.11.1.ebuild compiled and worls for me. Thanks!
Hi. Is it the place to look for the official "Qt for Python" ? Even if's still named 'pyside', i can't find any 'pyside' in the current tree.. ?
any progress on this?
yes, please...
@ThomasCapricelli: You're at the right place. "Qt for Python" is an appalling name, of course, so we've elected to retain the internal project name PySide2 and Gentoo atom name "dev-python/pyside:2". The ebuilds providing this atom currently reside in the third-party Qt overlay at https://github.com/gentoo/qt. The official Portage tree currently contains no PySide ebuilds. There no longer exists a "dev-python/pyside:0" atom installing PySide, as PySide is unmaintained, presumably insecure, and more-or-less useless for most real-world purposes. Instead, please install the live version of "dev-python/pyside:2" (i.e., `pyside-9999`) from the Qt overlay. Note that this version is hard-masked for safety and may be unmasked by appending lines resembling the following to your "/etc/portage/package.accept_keywords" file: ~dev-python/pyside-9999:2 ** ~dev-python/pyside-tools-9999:2 ** ~dev-python/shiboken-9999:2 ** ~dev-qt/assistant-5.11.3 ~dev-qt/designer-5.11.3 ~dev-qt/linguist-tools-5.11.3 ~dev-qt/qtcharts-5.11.3 ~dev-qt/qtconcurrent-5.11.3 ~dev-qt/qtcore-5.11.3 ~dev-qt/qtdatavis3d-5.11.3 ~dev-qt/qtdeclarative-5.11.3 ~dev-qt/qtdbus-5.11.3 ~dev-qt/qtgraphicaleffects-5.11.3 ~dev-qt/qtgui-5.11.3 ~dev-qt/qthelp-5.11.3 ~dev-qt/qtmultimedia-5.11.3 ~dev-qt/qtnetwork-5.11.3 ~dev-qt/qtopengl-5.11.3 ~dev-qt/qtpaths-5.11.3 ~dev-qt/qtprintsupport-5.11.3 ~dev-qt/qtquickcontrols-5.11.3 ~dev-qt/qtscript-5.11.3 ~dev-qt/qtsql-5.11.3 ~dev-qt/qtsvg-5.11.3 ~dev-qt/qttest-5.11.3 ~dev-qt/qtwayland-5.11.3 ~dev-qt/qtwebchannel-5.11.3 ~dev-qt/qtwebengine-5.11.3 ~dev-qt/qtwebkit-5.9.1 ~dev-qt/qtwebkit-5.11.3 ~dev-qt/qtwebsockets-5.11.3 ~dev-qt/qtwidgets-5.11.3 ~dev-qt/qtx11extras-5.11.3 ~dev-qt/qtxml-5.11.3 ~dev-qt/qtxmlpatterns-5.11.3 That's what I personally use, for example. @kunda: Perlovka's progress with his various GitHub pull requests appears to have tragically stumbled at a severe QA notice. See also: https://github.com/gentoo/qt/pull/178#discussion_r249823607 It's all a bit unfortunate, as Perlovka was nearly there; a day or two more of intrepid volunteerism and I suspect that he would have finalized everything. Or perhaps he already finalized everything and his PR faltered for no discernibly good reason? (I have no idea.) To complicate matters, the first official stable release of PySide2 (nonsensically referred to as "Qt for Python for Qt 5.12") was released several months ago. Ergo, Perlovka's valiant efforts are already a bit obsolete. @Pesa: Are there any significant blockers on gentoo/qt#178? If not, perhaps we could: 1. Merge that PR (when convenient for your scarce free time, of course). 2. Address the PySide2 5.12 release with a subsequent gentoo/qt PR, authored either by Perlovka or myself. If Perlovka's occupied elsewhere, I might be able to lend my volunteer services here again. 3. Encourage Qt overlay users to test the stable release for a week or two. Naturally, I'll do so as well. I have a several million-line PySide2-based multiphysics biology simulator (BETSEE: https://gitlab.com/betse/betsee) that certainly puts PySide2 through its paces. 4. Submit a new gentoo/gentoo PR merging these ebuilds into the Portage tree, authored by... somebody. This may not be me, due to work-related time constraints. What say we, all?
@cecil : thanks a lot for all clarifications. Packages that are both 1) in an external overlay 2) masked frighten me, i'll have to wait for some more stability :-/
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=6a795b4d1b8d10228a84f3ffb3a18d259c3660f1 commit 6a795b4d1b8d10228a84f3ffb3a18d259c3660f1 Author: leycec <leycec@gmail.com> AuthorDate: 2019-07-13 17:09:03 +0000 Commit: Davide Pesavento <pesa@gentoo.org> CommitDate: 2019-07-13 17:10:06 +0000 dev-python/shiboken: add 5.12.4, EAPI 7 Drop unmaintained live ebuild Bug: https://bugs.gentoo.org/624682 Package-Manager: Portage-2.3.69, Repoman-2.3.16 dev-python/shiboken/Manifest | 1 + dev-python/shiboken/files/rpath.cmake | 10 --- dev-python/shiboken/metadata.xml | 4 ++ dev-python/shiboken/shiboken-5.12.4.ebuild | 101 +++++++++++++++++++++++++++++ dev-python/shiboken/shiboken-9999.ebuild | 95 --------------------------- 5 files changed, 106 insertions(+), 105 deletions(-)
The last commit broke pyside:2 > emerge -pv pyside:2 emerge: there are no ebuilds to satisfy ">=dev-python/shiboken-9999:2[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)]". (dependency required by "dev-python/pyside-9999::qt" [ebuild]) (dependency required by "pyside:2" [argument]) replacing >=dev-python/shiboken-${PV}:${SLOT}[${PYTHON_USEDEP}] by >=dev-python/shiboken-5.12.4:${SLOT}[${PYTHON_USEDEP}] in dev-python/pyside-9999.ebuild is not enough to get it compiled camke stops with: CMake Error at /usr/lib64/cmake/Shiboken2-5.12.4/Shiboken2Config.cmake:5 (include): include could not find load file: /usr/lib64/cmake/Shiboken2-5.12.4/Shiboken2Config.cpython-36m-x86_64-linux-gnu.cmake
pyside:2 stop to be compatible with python-2.7. Currently I'm using that ebuild: https://data.gpo.zugaina.org/waebbl/dev-python/pyside/pyside-5.11.1.ebuild renamed to pyside-5.12.4.ebuild and with python2_7 removed from PYTHON_COMPAT
Leycec Productions™ is proud to present: a working PySide2 5.12.4 ebuild. Insert favourite NASA-based one-liner here. I'm partial to "The Eagle has landed," but "We have liftoff" is also acceptable. =====[ how to install this thing ]===== $ sudo emerge eselect-repository $ sudo eselect repository enable raiagent $ sudo emerge --sync raiagent $ sudo emerge --autounmask pyside2 Python 2.7 and 3.5+ supported out-of-the-box. No hard masks. No live repositories. Only stable releases. That's just how we roll. =====[ proof or it didn't happen ]===== The proof is in the scientific pudding. Check out our PySide2-based multiphysics biology simulator GUI for a taste of the PySide2 goods: $ sudo emerge --autounmask betsee $ betsee =====[ who the (feck|heck) are you? ]===== Hi! I'm @leycec, the original author of the PySide2, pyside2-tools, and shiboken2 ebuilds residing at the official Qt overlay (https://github.com/gentoo/qt). Pleased to meet your online acquaintance. Several months ago, I bumped those ebuilds to PySide2 5.12.4 (i.e., the most recent stable release of PySide2 at that time) via a series of pull requests posted to that overlay. The first pull request bumping shiboken2 to shiboken2 5.12.4 was accepted after a brief code review. Thanks, guys! For reasons unknown, the remaining pull requests were not. Thanks, anyway. After a month of radio silence, I elected to close the remaining pull requests and shift all unpublished work to a third-party overlay under my direct administration: raiagent (https://github.com/leycec/raiagent). My rationale for doing so is straightforward. The perfect had become the enemy of the good at the Qt overlay. It was better that my work be published somewhere than nowhere, right? Now it is. And it is good. Thus spake @leycec. =====[ what really happened at the qt overlay? ]===== I'd rather not speculate. Very well. Let's speculate. If I had to hazard an uneducated guess, my suspicions are that the maintainers of the official Qt overlay were simply too busy with Important Stuff (IS) elsewhere to attend to the remaining pull requests I submitted. Real life gets in the way of the best things in life. It's a well-known maxim. =====[ what does this mean for pyside2 on gentoo? ]===== This means a few things: 1. I, @leycec, publicly commit to maintaining these PySide2 ebuilds in perpetuity – both at the raiagent overlay now and wherever these ebuilds eventually land later. That is, until someone with Portage credentials officially adopts these ebuilds. (See "4." below.) 2. I, @leycec, publicly commit to bumping these PySide2 ebuilds as soon as humanely feasible to their most recent stable releases as of this writing: PySide 5.13.1. 3. Gentoo users who would like to become involved (...you must be cray-cray!) are invited to submit issues and pull requests to the raiagent overlay (https://github.com/leycec/raiagent). Please. Please help. For every bug that goes unresolved, a kitten mewls in a blender somewhere. 4. Overlay maintainers who would like to add PySide2-based ebuilds to their overlays may possibly now do so by adding a "metadata/layout.conf" file containing a line resembling: masters = gentoo raiagent This is firmly untested and liable to break everything, of course. If you try this, please drop me a line at raiagent's GitHub-hosted issue tracker (https://github.com/leycec/raiagent/issues). I'd love to know if this actually works. It probably doesn't, but a neckbeard can dream. 5. Gentoo developers who would like to adopt these PySide2 ebuilds (e.g., either into their own quasi-official overlays or into Portage itself) are very much encouraged to do so. Because I am lazy, I have scarce time for volunteer open-sourcery. Video games aren't going to play themselves, I'm afraid. If someone more capable than myself [translation: anyone] took these ebuilds off my greasy hands, I'd be forever in your code debt. If you do so, please drop me a line at raiagent's GitHub-hosted issue tracker (https://github.com/leycec/raiagent/issues). 6. The "dev-python/shiboken", "dev-python/pyside", and "dev-python/pyside-tools" ebuilds hosted at the Qt overlay *ARE CURRENTLY BROKEN AND LIKELY TO REMAIN BROKEN FOR THE FORESEEABLE FUTURE.* Ideally, those ebuilds should simply be removed. So it goes. 7. This probably goes without saying, but I'd rather not resubmit yet another series of pull requests to the Qt overlay attempting to repair the breakage. Because I am lazy and things didn't work out so well the first time around, bumping ebuilds in my own overlay is my preferred path forward. But mostly because I am lazy. =====[ pyside2? wait! wut happened to pyside:2? ]===== As the original author and sole maintainer, I've taken the useful liberty of deslotting these ebuilds from slot "2" to "0" and suffixing their package names by "2". This brings these ebuilds into compliance with upstream naming conventions, preserves orthogonality with the comparable "dev-python/PyQt*" family of ebuilds, and mostly simplifies life for all involved. Specifically, the following atoms have been renamed: * "dev-python/shiboken:2" -> "dev-python/shiboken2". * "dev-python/pyside:2" -> "dev-python/pyside2". * "dev-python/pyside-tools:2" -> "dev-python/pyside2". To preserve backward compatibility with any external PySide2-based ebuilds that might exist in the wild, raiagent ships a profile update notifying emerge of these name changes. Since no such ebuilds appear to even exist, this probably means nothing to anyone. Now is the best time to pay the rename piper. =====[ thanks, you! ]===== Hey, thanks you! A round of applause for all involved. This includes @Pesa at the Qt overlay for tolerating my voluble antics for so long and all of the commentators here who kept this valuable issue alive for so long. This ebuild's for you.
Gentoo testing now uses qt-5.14.0. Shiboken and pyside needs to be bumped to 5.14 to as it unlike qt-5.13 does not compile with the previous versions. shiboken-5.14.0 compiles if the ebuild is renamed and "everywhere" is replaced by "opensource" But pyside2-5.14.0 (wich same changes) failes with an error like https://bugreports.qt.io/browse/PYSIDE-693
It looks like the gentoo main repo now has pyside2-5.15.1. However pyside2-tools is missing (it's referenced from a comment in the pyside2 ebuild but does not actually exist)...
That's true. I asked the maintainer of pyside2 whether he wants to maintain pyside2-tools as well, but he refused, because he isn't using the package.
I think this bug can be closed. @Fordfrog gladly added the missing pyside2-tools to the tree, so all three packages are now in ::gentoo and supporting Qt5.
Yes, i can confirm, i use pyside2 on some projects, and it now works as is in gentoo (without any overlay or patch). Thanks