Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 604284 - kde-apps/pykde4-4.14.3-r1 - .../work/pykde4-4.14.3-python2_7/sip/dnssd/sipAPIdnssd.h:569:76: error: ‘sipWrapperType {aka struct _sipWrapperType}’ has no member named ‘type’
Summary: kde-apps/pykde4-4.14.3-r1 - .../work/pykde4-4.14.3-python2_7/sip/dnssd/sipAPI...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-31 21:42 UTC by Mark Nowiasz
Modified: 2017-01-09 12:05 UTC (History)
9 users (show)

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


Attachments
build.log (build.log,346.67 KB, text/plain)
2016-12-31 21:42 UTC, Mark Nowiasz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Nowiasz 2016-12-31 21:42:01 UTC
When trying to emerge -uDN @world @system, kde-apps/pykde4-4.14.3-r1 fails with:

/var/tmp/portage/kde-apps/pykde4-4.14.3-r1/work/pykde4-4.14.3/sip/dnssd/remoteservice.sip:116:9: note: 
in expansion of macro ‘sipReleaseInstance’
         sipReleaseInstance(t, sipClass_DNSSD_RemoteService, state);
         ^
/var/tmp/portage/kde-apps/pykde4-4.14.3-r1/work/pykde4-4.14.3/sip/dnssd/remoteservice.sip: In function 
‘PyObject* convertFrom_QList_0100DNSSD_RemoteService_Ptr(void*, PyObject*)’:
/var/tmp/portage/kde-apps/pykde4-4.14.3-r1/work/pykde4-4.14.3-python2_7/sip/dnssd/sipAPIdnssd.h:578:78:
 error: ‘sipWrapperType {aka struct _sipWrapperType}’ has no member named ‘type’
 #define sipConvertFromNewInstance(p, wt, t) sipConvertFromNewType((p), (wt)->type, (t))
                                                                              ^
/var/tmp/portage/kde-apps/pykde4-4.14.3-r1/work/pykde4-4.14.3/sip/dnssd/remoteservice.sip:69:21: note: 
in expansion of macro ‘sipConvertFromNewInstance’


Could it be that pykde4-4.14.3-r1 is incompatible with (required by lots of packages) dev-python/sip-4.19?
Comment 1 Mark Nowiasz 2016-12-31 21:42:37 UTC
Created attachment 458184 [details]
build.log

build.log
Comment 2 Mark Nowiasz 2016-12-31 21:46:25 UTC
emerge --info
!!! Repository 'x-portage' is missing masters attribute in '/usr/local/portage/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
Portage 2.3.3 (python 3.4.5-final-0, default/linux/amd64/13.0/desktop/plasma/systemd, gcc-5.4.0, glibc-2.23-r3, 4.9.0-gentoo x86_64)
=================================================================
System uname: Linux-4.9.0-gentoo-x86_64-Intel-R-_Core-TM-_i7-2600_CPU_@_3.40GHz-with-gentoo-2.3
KiB Mem:     8161424 total,   3733204 free
KiB Swap:   33554428 total,  32615860 free
Timestamp of repository gentoo: Sat, 31 Dec 2016 11:15:01 +0000
sh bash 4.4_p5-r1
ld GNU ld (Gentoo 2.27 p1.0) 2.27
app-shells/bash:          4.4_p5-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1_rc4::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.1::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.23::gentoo
sys-apps/sandbox:         2.10-r2::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r2::gentoo
sys-devel/automake:       1.10.3-r2::gentoo, 1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.27::gentoo
sys-devel/gcc:            5.4.0-r2::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.9::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.europe.gentoo.org/gentoo-portage
    priority: -1000

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

digint
    location: /var/lib/layman/digint
    sync-type: git
    sync-uri: git://dev.tty0.ch/portage/digint-overlay.git
    masters: gentoo
    priority: 50

go-overlay
    location: /var/lib/layman/go-overlay
    sync-type: laymansync
    sync-uri: https://github.com/Dr-Terrible/go-overlay.git
    masters: gentoo
    priority: 50

java
    location: /var/lib/layman/java
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/java.git
    masters: gentoo
    priority: 50

nashedelo
    location: /var/lib/layman/nashedelo
    sync-type: laymansync
    sync-uri: https://bitbucket.org/angry_elf/nashedelo
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.1/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gentoo.mneisen.org/ http://de-mirror.org/distro/gentoo/ http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ ftp://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://mirror.jamit.de/gentoo/ http://mirror.netcologne.de/gentoo/ ftp://mirror.netcologne.de/gentoo/ "
LANG="en_US.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j9"
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="X a52 aac aalib acl acpi aim alsa amd64 apng audiofile avx ayatana bash-completion bcmath berkdb blas bluetooth branding bzip2 cairo calendar cdb cdda cddb cdinstall cdparanoia cdr chromium cli clutter colord cracklib crypt cryptsetup css cups curl curlwrappers cvs cxx dbus declarative djvu dng dri dts dv dvb dvd dvdr emboss encode enscript evo exif expat fam farstream ffmpeg fftw flac flickr fontconfig foomaticdb fortran ftp gd gdbm gdu geo geoip gif gimp git glamor glut gmp gnuplot gnutls go google gphoto2 gpm graphicsmagick graphviz gsl gsm gstreamer gtk gtk3 gtkhtml gudev gzip handbook hbci hddtemp hdf5 iconv icq icu idn imagemagick imap imlib ipv6 jabber jack java java6 javascript jbig jingle jit joystick jpeg jpeg2k kde kdepim kipi lame lapack lash latex lcms ldap libcaca libedit libffi libnotify libsamplerate libwww lm_sensors lua lzma lzo mad maildir matroska memlimit mercurial mhash mikmod milter mime mmap mms mmx mmxext mng modplug modules mono mp3 mp4 mpeg mpi mplayer msn mtp multilib musepack musicbrainz mysql mysqli nas ncurses netcdf nls nntp nocd nptl nsplugin ocr odbc offensive ofx ogg openal opencl openexr opengl openmax openmp openvg osc oscar pam pango pcntl pcre pda pdf pentax phonon php plasma plotutils png policykit portaudio ppds pulseaudio python qml qt3support qt4 qt5 quicktime raw rdesktop readline recode rss samba sasl scanner sdl seccomp semantic-desktop session sharedmem shorten slang slp smp sndfile snmp soap sockets sound sox speex spell sqlite sqlite3 sse sse2 sse3 ssl startup-notification subversion suid svg syslog systemd szip taglib tcpd telepathy themes theora threads tiff timidity tokenizer truetype udev udisks unicode upnp upower usb v4l vala vcd vdpau video videos vim-syntax vnc vorbis vpn vpnc wavpack webkit widgets win32codecs wmf wxwidgets x264 xa xattr xcb xcomposite xface xft xinerama xml xmlrpc xmp xmpp xosd xpm xscreensaver xsl xulrunner xv xvid xvmc yahoo yaz zeroconf zip zlib" ABI_X86="64 32" 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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev mouse keyboard" KERNEL="linux" L10N="de en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21 ruby22 ruby23 ruby24" USERLAND="GNU" VIDEO_CARDS="nvidia" 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 3 Martin von Gagern 2017-01-01 19:49:07 UTC
I'm seeing something similar, with the difference likely due to a different order of files being processed by this parallel build.

In file included from …/pykde4-4.14.3-python2_7/sip/kdeui/sipkdeuipart1.cpp:7:0:
…/pykde4-4.14.3/sip/kdeui/kxmlguibuilder.sip: In function ‘PyObject* meth_KXMLGUIBuilder_createContainer(PyObject*, PyObject*)’:
…/pykde4-4.14.3-python2_7/sip/kdeui/sipAPIkdeui.h:7908:78: error: ‘sipWrapperType {aka struct _sipWrapperType}’ has no member named ‘type’
 #define sipConvertFromNewInstance(p, wt, t) sipConvertFromNewType((p), (wt)->type, (t))
                                                                              ^
…/pykde4-4.14.3/sip/kdeui/kxmlguibuilder.sip:52:21: note: in expansion of macro ‘sipConvertFromNewInstance’
     if ((pyWidget = sipConvertFromNewInstance(res, sipClass_QWidget, NULL)) == NULL)
                     ^
…/pykde4-4.14.3-python2_7/sip/kdeui/sipAPIkdeui.h:7908:78: error: ‘sipWrapperType {aka struct _sipWrapperType}’ has no member named ‘type’
 #define sipConvertFromNewInstance(p, wt, t) sipConvertFromNewType((p), (wt)->type, (t))
                                                                              ^
…/pykde4-4.14.3/sip/kdeui/kxmlguibuilder.sip:55:30: note: in expansion of macro ‘sipConvertFromNewInstance’
     if ((pyContainerAction = sipConvertFromNewInstance(containerAction, sipClass_QAction, NULL)) == NULL)
                              ^
make[2]: *** [CMakeFiles/python_module_PyKDE4_kdeui.dir/build.make:323: CMakeFiles/python_module_PyKDE4_kdeui.dir/sip/kdeui/sipkdeuipart1.cpp.o] Error 1

Looking at the SIP documentation of changes for 4.19:
http://pyqt.sourceforge.net/Docs/sip4/incompatibilities.html#sip-v4-19

> Generated Type Structures for Imported Types
>
> As described in Generated Type Structures SIP generates a type
> structure for each C structure, C++ class and namespace, mapped type
> and named enum. Prior to this version every type structure in a
> module was automatically available to any handwritten code in any
> module that imported it.
>
> Starting with this version only those type structures needed by the
> generated code are automatically available to handwritten code
> possibly resulting in compiler errors. Handwritten code should be
> changed to call sipFindType() to obtain a pointer to the required
> type structure.

So I'd say that's the problem here. Perhaps combined with the fact that sipConvertFromNewInstance is deprecated according to
http://pyqt.sourceforge.net/Docs/sip4/c_api.html#c.sipConvertFromNewInstance
Comment 4 Kelly Price 2017-01-02 15:26:57 UTC
I have a similar issue, this time involving dev-python/PyQt4-4.11.4-r1, but the relation is dev-python/sip-4.19.  All my info is at https://gist.github.com/STrRedWolf/3f7cd41a611aa10587648dfbcf1babd3 .
Comment 5 Martin von Gagern 2017-01-02 19:41:28 UTC
The following sed invocation may help turn all those deprecated combinations of sip…Instance(…, sipClass_…, …) insto sip…Type(…, sipType_…, …).

sed -i -E 's/Instance(.*)sipClass_/Type\1sipType_/' "${S}"/sip/*/*.sip

I've just successfully emerged pykde4, after including the above command into the build process like this:

# mkdir -p /etc/portage/env/kde-apps
# cat >/etc/portage/env/kde-apps/pykde4-4.14.3-r1 <<EOF
post_src_unpack() {
  einfo "Adjusting for sip 4.19"
  sed -i -E 's/Instance(.*)sipClass_/Type\1sipType_/' "${S}"/sip/*/*.sip || die
}
EOF

Unfortunately the ebuild doesn't contain tests, so I don't know whether the code I compiled works as intended. I guess chances are good, though.

So it looks as though we don't need sipFindType after all. Which is a good thing, since I couldn't find out how exactly to format the string argument for this function. There is little documentation, and Google turned up very few examples.
Comment 6 Michael Palimaka (kensington) gentoo-dev 2017-01-04 07:22:46 UTC
(In reply to Kelly Price from comment #4)
> I have a similar issue, this time involving dev-python/PyQt4-4.11.4-r1, but
> the relation is dev-python/sip-4.19.  All my info is at
> https://gist.github.com/STrRedWolf/3f7cd41a611aa10587648dfbcf1babd3 .

This is caused by mixing stable PyQt4 with testing sip.
Comment 7 Dennis Schridde 2017-01-04 08:50:47 UTC
(In reply to Michael Palimaka (kensington) from comment #6)
> This is caused by mixing stable PyQt4 with testing sip.

I run into the original issue (comment #0) with these packages:
dev-python/PyQt4-4.12
dev-python/sip-4.19
kde-apps/pykde4-4.14.3-r1

(In reply to Martin von Gagern from comment #5)
> # mkdir -p /etc/portage/env/kde-apps
> # cat >/etc/portage/env/kde-apps/pykde4-4.14.3-r1 <<EOF
> post_src_unpack() {
>   einfo "Adjusting for sip 4.19"
>   sed -i -E 's/Instance(.*)sipClass_/Type\1sipType_/' "${S}"/sip/*/*.sip ||
> die
> }
> EOF

This allowed me to compile pykde4. Thanks!
Comment 8 Michael Palimaka (kensington) gentoo-dev 2017-01-04 08:54:05 UTC
(In reply to Dennis Schridde from comment #7)
> (In reply to Michael Palimaka (kensington) from comment #6)
> > This is caused by mixing stable PyQt4 with testing sip.
> 
> I run into the original issue (comment #0) with these packages:
> dev-python/PyQt4-4.12
> dev-python/sip-4.19
> kde-apps/pykde4-4.14.3-r1
> 
> (In reply to Martin von Gagern from comment #5)
> > # mkdir -p /etc/portage/env/kde-apps
> > # cat >/etc/portage/env/kde-apps/pykde4-4.14.3-r1 <<EOF
> > post_src_unpack() {
> >   einfo "Adjusting for sip 4.19"
> >   sed -i -E 's/Instance(.*)sipClass_/Type\1sipType_/' "${S}"/sip/*/*.sip ||
> > die
> > }
> > EOF
> 
> This allowed me to compile pykde4. Thanks!

My comment #6 was in response to comment #4, which is describing a different issue to the rest of the bug.
Comment 9 Michael Palimaka (kensington) gentoo-dev 2017-01-05 08:33:16 UTC
By the way, pykde4 is completely unmaintained upstream so we can't count on a proper fix. There are very few revdeps remaining, so it would be interesting to know for which packages people are using to still need pykde4.
Comment 10 Steven Green 2017-01-05 08:51:57 UTC
The only package that depends on pykde4 on my machine is kde-apps/kajongg which I've never ever used.

This is a dependency of kdegames-meta (with python use flag) which is a dependency of kde-apps-meta.
Comment 11 Dan Goodliffe 2017-01-05 08:55:44 UTC
kde-misc/synaptiks for me. Not aware of any alternatives, but I'd gladly try any suggestions in the spirit of removing some dead wood.
Comment 12 Michael Palimaka (kensington) gentoo-dev 2017-01-05 09:13:00 UTC
(In reply to Steven Green from comment #10)
> The only package that depends on pykde4 on my machine is kde-apps/kajongg
> which I've never ever used.
> 
> This is a dependency of kdegames-meta (with python use flag) which is a
> dependency of kde-apps-meta.

Fortunately a whole lot of changes hit kajongg master including porting away from pykde4, so we should see that in KDE Applications 17.04.

(In reply to Dan Goodliffe from comment #11)
> kde-misc/synaptiks for me. Not aware of any alternatives, but I'd gladly try
> any suggestions in the spirit of removing some dead wood.

I'm afraid that synaptiks (along with the rest of Plasma 4 and related packages) will be retired soon to kde-sunset.
Comment 13 Dan Goodliffe 2017-01-05 09:19:49 UTC
Had a quick search... kde-misc/kcm-touchpad look like it might do the trick. I'll trial it when I get near my laptop and see if it is a [drop-in] replacement.
Comment 14 Dennis Schridde 2017-01-06 10:29:35 UTC
(In reply to Michael Palimaka (kensington) from comment #9)
> By the way, pykde4 is completely unmaintained upstream so we can't count on
> a proper fix. There are very few revdeps remaining, so it would be
> interesting to know for which packages people are using to still need pykde4.

# q depends -Q pykde4
kde-misc/kanyremote-6.3.5
Comment 15 Dan Goodliffe 2017-01-07 02:57:57 UTC
(In reply to Dan Goodliffe from comment #13)
> Had a quick search... kde-misc/kcm-touchpad look like it might do the trick.
> I'll trial it when I get near my laptop and see if it is a [drop-in]
> replacement.

Turns out you don't need anything like that. I've been using the built in one in KDE for ages and didn't realise it wasn't synaptiks... so that's dead and so is pykde4 for me.
Comment 16 Roc Vallès 2017-01-07 05:23:15 UTC
Why not just temporarily remove kajongg from kdegames-meta?

Anyone missing it can install manually, and we can have it back by 17.04.