Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 624682 - dev-python/pyside:2 dev-python/pyside-tools:2 dev-python/shiboken:2 - version bump for Qt5
Summary: dev-python/pyside:2 dev-python/pyside-tools:2 dev-python/shiboken:2 - version...
Status: IN_PROGRESS
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: Normal enhancement with 4 votes (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords: InOverlay
Depends on: 657062
Blocks: 622726
  Show dependency tree
 
Reported: 2017-07-12 13:10 UTC by bug2017
Modified: 2020-10-05 22:18 UTC (History)
17 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
dev-python/shiboken-9999.ebuild (shiboken-99999.ebuild,2.25 KB, text/plain)
2017-07-12 13:11 UTC, bug2017
Details
dev-python/pyside-99999.ebuild (pyside-99999.ebuild,5.76 KB, text/plain)
2017-07-12 13:12 UTC, bug2017
Details
dev-python/pyside-tools-9999.ebuild (pyside-tools-99999.ebuild,3.62 KB, text/plain)
2017-07-12 13:13 UTC, bug2017
Details
patch for all 3 ebuilds (ebuilds.diff,5.37 KB, patch)
2017-07-13 17:23 UTC, bug2017
Details | Diff
pyside2 build.log (pyside2_build.zip,5.05 KB, application/zip)
2017-09-24 13:30 UTC, tsmksubc
Details
pyside-shiboken-qt5.10.diff (pyside-shiboken-qt5.10.diff,3.34 KB, patch)
2017-12-10 15:37 UTC, bug2017
Details | Diff
pyside-shiboken-qt5.10.diff (pyside-shiboken-qt5.10.diff,3.47 KB, patch)
2017-12-11 15:19 UTC, bug2017
Details | Diff
dev-python/pyside-9999::qt build.log (zipped) (pyside-9999_build.log.zip,57.54 KB, application/octet-stream)
2017-12-14 04:58 UTC, Justin Keogh
Details
path fix (pyside-9999-fix_path_typesystem_webkitwidgets.xml.patch,560 bytes, patch)
2018-01-01 01:02 UTC, Justin Keogh
Details | Diff
pyside_buildlog.txt (pyside_buildlog.txt,74.43 KB, text/plain)
2018-01-17 16:10 UTC, bug2017
Details
Shiboken patch to find CLANG include dir (find-clang-includedir.patch,452 bytes, patch)
2018-09-13 23:31 UTC, Michael Perlov
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description bug2017 2017-07-12 13:10:27 UTC
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.
Comment 1 bug2017 2017-07-12 13:11:23 UTC
Created attachment 483344 [details]
dev-python/shiboken-9999.ebuild
Comment 2 bug2017 2017-07-12 13:12:33 UTC
Created attachment 483346 [details]
dev-python/pyside-99999.ebuild
Comment 3 bug2017 2017-07-12 13:13:18 UTC
Created attachment 483348 [details]
dev-python/pyside-tools-9999.ebuild
Comment 4 Arfrever Frehtes Taifersar Arahesis 2017-07-13 12:51:59 UTC
Please attach patches to ebuilds, not full ebuilds.
Comment 5 bug2017 2017-07-13 17:23:38 UTC
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
Comment 6 Arfrever Frehtes Taifersar Arahesis 2017-07-13 19:31:52 UTC
Trailing ' ;' is not needed.
Comment 7 Davide Pesavento gentoo-dev 2017-07-13 23:30:10 UTC
(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.
Comment 8 bug2017 2017-07-14 19:00:34 UTC
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.
Comment 9 Davide Pesavento gentoo-dev 2017-07-15 16:02:04 UTC
Yes, but the ebuilds need more changes than just switching branches. AFAIU upstream is now using clang for parsing...
Comment 10 tsmksubc 2017-09-17 11:36:37 UTC
Any progress?
Comment 11 bug2017 2017-09-18 07:27:11 UTC
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.
Comment 12 tsmksubc 2017-09-24 13:30:19 UTC
Created attachment 496294 [details]
pyside2 build.log
Comment 13 tsmksubc 2017-09-24 13:30:50 UTC
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
Comment 14 tsmksubc 2017-10-22 16:13:42 UTC
After https://github.com/gentoo/qt/commit/fa7ed68675611c76a2df33dfa2ddb97b9c2ce8eait build still fails with same error.
Comment 15 Davide Pesavento gentoo-dev 2017-10-22 16:50:05 UTC
(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
Comment 16 tsmksubc 2017-10-22 17:44:41 UTC
(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.
Comment 17 Torsten Kurbad 2017-10-29 20:13:59 UTC
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...
Comment 18 Davide Pesavento gentoo-dev 2017-10-29 20:18:21 UTC
(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
Comment 19 Li Yanrui 2017-11-02 11:41:37 UTC
(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.
Comment 20 Torsten Kurbad 2017-11-02 16:48:36 UTC
(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.
Comment 21 tsmksubc 2017-11-04 09:37:57 UTC
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"?
Comment 22 bug2017 2017-12-01 14:36:10 UTC
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.
Comment 23 Davide Pesavento gentoo-dev 2017-12-02 05:31:15 UTC
(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++?
Comment 24 bug2017 2017-12-02 17:30:16 UTC
(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.
Comment 25 bug2017 2017-12-05 15:59:20 UTC
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.
Comment 26 bug2017 2017-12-10 15:37:08 UTC
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
Comment 27 bug2017 2017-12-11 15:19:40 UTC
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.
Comment 28 Justin Keogh 2017-12-14 02:45:50 UTC
(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
Comment 29 Justin Keogh 2017-12-14 04:58:43 UTC
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
Comment 30 Miroslav Šulc gentoo-dev 2017-12-30 10:32:09 UTC
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
Comment 31 Larry the Git Cow gentoo-dev 2017-12-30 21:25:49 UTC
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(-)}
Comment 32 Davide Pesavento gentoo-dev 2017-12-30 21:30:35 UTC
(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.
Comment 33 Justin Keogh 2017-12-31 04:19:57 UTC
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'
Comment 34 Justin Keogh 2017-12-31 04:46:36 UTC
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
Comment 35 Andreas Sturmlechner gentoo-dev 2017-12-31 18:12:32 UTC
(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?
Comment 36 Davide Pesavento gentoo-dev 2017-12-31 22:48:22 UTC
(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.
Comment 37 Davide Pesavento gentoo-dev 2017-12-31 22:51:46 UTC
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?
Comment 38 Davide Pesavento gentoo-dev 2017-12-31 23:16:06 UTC
(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?
Comment 39 Justin Keogh 2018-01-01 00:59:49 UTC
(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....
Comment 40 Justin Keogh 2018-01-01 01:02:19 UTC
Created attachment 512370 [details, diff]
path fix
Comment 41 Davide Pesavento gentoo-dev 2018-01-11 06:44:45 UTC
(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.
Comment 42 bug2017 2018-01-12 19:13:22 UTC
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
Comment 43 bug2017 2018-01-17 10:52:38 UTC
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!
Comment 44 bug2017 2018-01-17 16:10:27 UTC
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
Comment 45 Fabio Rossi 2018-01-25 16:53:46 UTC
(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
Comment 46 Andreas Sturmlechner gentoo-dev 2018-05-29 18:46:00 UTC
Any news here?
Comment 47 bug2017 2018-05-30 07:29:42 UTC
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.
Comment 48 bug2017 2018-06-13 14:05:28 UTC
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/
Comment 49 Davide Pesavento gentoo-dev 2018-06-16 17:31:15 UTC
(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.
Comment 50 Guillaume Ranquet 2018-07-03 06:26:36 UTC
(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...
Comment 51 silver_ghost 2018-08-09 11:46:31 UTC
pyside in the qt overlay doesn't have X useflag while pyside in portage had. Is it OK?
Comment 52 Michael Perlov 2018-09-13 23:31:01 UTC
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
Comment 53 Michael Perlov 2018-09-14 01:13:21 UTC
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.
Comment 54 Justin Keogh 2018-12-29 02:02:11 UTC
https://github.com/Perlovka/portage-overlay/blob/master/dev-python/pyside/pyside-5.11.1.ebuild

compiled and worls for me. Thanks!
Comment 55 Thomas Capricelli 2019-02-25 20:25:06 UTC
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.. ?
Comment 56 kunda 2019-03-16 11:45:27 UTC
any progress on this?
Comment 57 Thomas Capricelli 2019-03-17 00:34:07 UTC
yes, please...
Comment 58 Cecil Curry 2019-05-02 05:39:26 UTC
@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?
Comment 59 Thomas Capricelli 2019-05-03 11:18:25 UTC
@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 :-/
Comment 60 Larry the Git Cow gentoo-dev 2019-07-13 17:18:14 UTC
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(-)
Comment 61 bug2017 2019-08-15 14:41:11 UTC
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
Comment 62 bug2017 2019-08-16 10:31:17 UTC
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
Comment 63 Cecil Curry 2019-10-02 05:20:24 UTC
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.
Comment 64 bug2017 2020-01-03 19:01:03 UTC
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