Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 465570 - =net-libs/webkit-gtk-2.0.0 - Source/WebCore/rendering/RenderLayer.cpp:5783:123: error: invalid static_cast from type 'WebCore::FilterOperation*' to type 'const WebCore::CustomFilterOperation*'
Summary: =net-libs/webkit-gtk-2.0.0 - Source/WebCore/rendering/RenderLayer.cpp:5783:12...
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: gnome-3.8
  Show dependency tree
 
Reported: 2013-04-11 18:26 UTC by Dennis Nezic
Modified: 2014-03-07 19:40 UTC (History)
0 users

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


Attachments
tail -n75 build.log (webkitfail,39.54 KB, text/plain)
2013-04-11 18:29 UTC, Dennis Nezic
Details
tail -n75 build.log (webkitfail,39.54 KB, text/plain)
2013-04-11 18:30 UTC, Dennis Nezic
Details
tail -n20 of build.log, with accelerated compositing disabled (webkitfail2,21.96 KB, text/plain)
2013-04-12 00:40 UTC, Dennis Nezic
Details
Build log (build.log.xz,114.59 KB, application/x-xz)
2013-04-14 10:37 UTC, gbug
Details
failing build of webkit-gtk-2.0.4 with all USE flags disabled (build.log.xz,106.93 KB, application/x-xz)
2014-03-07 16:36 UTC, Philipp Adolf
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dennis Nezic 2013-04-11 18:26:56 UTC
I tried compiling with none of the USE flags enabled. I have attached "tail -n75" of the build.log.

Reproducible: Always
Comment 1 Dennis Nezic 2013-04-11 18:29:29 UTC
Created attachment 345260 [details]
tail -n75 build.log

After 6000+ lines of build.log, and hours of compilation, here is the first error, and attached is the last 75 lines:

Source/WebCore/rendering/RenderLayer.cpp: In member function ‘WebCore::FilterOperations WebCore::RenderLayer::computeFilterOperations(const WebCore::RenderStyle*)’:
Source/WebCore/rendering/RenderLayer.cpp:5783:123: error: invalid static_cast from type ‘WebCore::FilterOperation*’ to type ‘const WebCore::CustomFilterOperation*’
Source/WebCore/rendering/RenderLayer.cpp:5784:66: error: invalid use of incomplete type ‘const class WebCore::CustomFilterOperation’
In file included from Source/WebCore/rendering/RenderLayer.cpp:99:0:
./Source/WebCore/css/StyleResolver.h:70:7: error: forward declaration of ‘const class WebCore::CustomFilterOperation’
Source/WebCore/rendering/RenderLayer.cpp:5785:25: error: invalid use of incomplete type ‘class WebCore::CustomFilterProgram’
Comment 2 Dennis Nezic 2013-04-11 18:30:03 UTC
Created attachment 345262 [details]
tail -n75 build.log

After 6000+ lines of build.log, and hours of compilation, here is the first error, and attached is the last 75 lines:

Source/WebCore/rendering/RenderLayer.cpp: In member function ‘WebCore::FilterOperations WebCore::RenderLayer::computeFilterOperations(const WebCore::RenderStyle*)’:
Source/WebCore/rendering/RenderLayer.cpp:5783:123: error: invalid static_cast from type ‘WebCore::FilterOperation*’ to type ‘const WebCore::CustomFilterOperation*’
Source/WebCore/rendering/RenderLayer.cpp:5784:66: error: invalid use of incomplete type ‘const class WebCore::CustomFilterOperation’
In file included from Source/WebCore/rendering/RenderLayer.cpp:99:0:
./Source/WebCore/css/StyleResolver.h:70:7: error: forward declaration of ‘const class WebCore::CustomFilterOperation’
Source/WebCore/rendering/RenderLayer.cpp:5785:25: error: invalid use of incomplete type ‘class WebCore::CustomFilterProgram’
Comment 3 Dennis Nezic 2013-04-12 00:38:50 UTC
I tried changing the ebuild to "--disable-accelerated-compositing", and got a bit further, but encountered another Fail:

In file included from Source/WebKit2/PluginProcess/PluginControllerProxy.h:32:0,
                 from Source/WebKit2/PluginProcess/PluginControllerProxy.cpp:27:
./Source/WebKit2/WebProcess/Plugins/Plugin.h:268:58: error: ‘FloatPoint’ in namespace ‘WebCore’ does not name a type
./Source/WebKit2/WebProcess/Plugins/Plugin.h:268:77: warning: ISO C++ forbids declaration of ‘parameter’ with no type [-fpermissive]
In file included from Source/WebKit2/PluginProcess/PluginControllerProxy.cpp:36:0:
./Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h:253:18: error: ‘virtual bool WebKit::NetscapePlugin::                        performDictionaryLookupAtLocation(const WebCore::FloatPoint&)’ marked override, but does not override
make[1]: *** [Source/WebKit2/PluginProcess/libwebkit2gtk_3_0_la-PluginControllerProxy.lo] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-libs/webkit-gtk-2.0.0/work/webkitgtk-2.0.0'
make: *** [all] Error 2
Comment 4 Dennis Nezic 2013-04-12 00:40:06 UTC
Created attachment 345296 [details]
tail -n20 of build.log, with accelerated compositing disabled

Sigh.
Comment 5 Dennis Nezic 2013-04-12 02:07:09 UTC
I solved the problem from Comment #3 by adding "#include <WebCore/FloatPoint.h>" to:
 /var/tmp/portage/net-libs/webkit-gtk-2.0.0/work/webkitgtk-2.0.0/Source/WebKit2/WebProcess/Plugins/Plugin.h

And I got a lot further, until I hit this familiar (from older versions) Fail:

./.libs/libwebkit2gtk-3.0.so: undefined reference to `WebCore::openGLFunctionTable()'
./.libs/libwebkit2gtk-3.0.so: undefined reference to `WebCore::initializeOpenGLShims()'
collect2: error: ld returned 1 exit status

:'(
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2013-04-12 14:09:14 UTC
Comment on attachment 345260 [details]
tail -n75 build.log

Please attach the entire build log to this bug report.
Comment 7 Jeroen Roovers (RETIRED) gentoo-dev 2013-04-12 14:09:56 UTC
Additionally, post your `emerge --info' output in a comment.
Comment 8 Dennis Nezic 2013-04-12 18:13:53 UTC
The build.log is massive -- over 50MB at the point of failure. 99.9% of which is irrelevant :P. I'm pretty sure all these compilation failures were a result of poor testing with the various configure options. (Specifically, with all of them disabled.)

So, I finally got it to compile, with no USE flags enabled by changing the ebuild with:

  --disable-accelerated-compositing
  --with-acceleration-backend=none
  --disable-glx (probably optional, but just in case)

And editing these two files:
/var/tmp/portage/net-libs/webkit-gtk-2.0.0/work/webkitgtk-2.0.0/Source/WebKit2/WebProcess/Plugins/Plugin.h
  +   #include <WebCore/FloatPoint.h>

/var/tmp/portage/net-libs/webkit-gtk-2.0.0/work/webkitgtk-2.0.0/Tools/GtkLauncher/main.c
  -   (all (two) references to *gst* (gstreamer crap))
Because I got yet another fatal error: Tools/GtkLauncher/main.c:31:21: gst/gst.h: No such file or directory

I really hate bloatware.
Comment 9 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-04-13 09:52:28 UTC
(In reply to comment #8)
> The build.log is massive -- over 50MB at the point of failure.

The build log is just text, heavily compressible, try xz.

So, please attach the complete build.log.

> 99.9% of which is irrelevant :P.

The header, the configure output intermediate steps can be valuable.

> I'm pretty sure all these compilation failures were a result of poor testing with the various configure options. (Specifically, with all of them disabled.)

Since it's not in stable or unstable, this can't be poor testing.

# Pacho Ramos <pacho@gentoo.org> (28 Mar 2013)
# Gnome 3.8 Mask
...
>=net-libs/webkit-gtk-2
...

> I really hate bloatware.

You can replace packages that depend on webkit-gtk by alternatives.
Comment 10 gbug 2013-04-14 10:37:20 UTC
Created attachment 345540 [details]
Build log

Build log attached.
Comment 11 Jeroen Roovers (RETIRED) gentoo-dev 2013-04-16 18:36:17 UTC
(In reply to comment #7)
> Additionally, post your `emerge --info' output in a comment.

I don't see it yet.
Comment 12 Dennis Nezic 2013-04-16 18:39:49 UTC
I don't see how that's relevant, if the problem is with upstream's source code and configure options. Were you able to compile this package with all USE flags disabled?
Comment 13 gbug 2013-04-17 05:57:55 UTC
(In reply to comment #11)
> (In reply to comment #7)
> > Additionally, post your `emerge --info' output in a comment.
> 
> I don't see it yet.

Sorry:

Portage 2.2.0_alpha173 (hardened/linux/amd64/no-multilib, gcc-4.7.2, glibc-2.17, 3.8.7-grsec x86_64)
=================================================================
System uname: Linux-3.8.7-grsec-x86_64-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-2.2
KiB Mem:    24636616 total,  10426448 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Tue, 16 Apr 2013 00:45:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45
dev-lang/python:          2.7.3-r3, 3.2.3-r2
dev-util/cmake:           2.8.10.2-r1
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6
sys-devel/binutils:       2.22-r1, 2.23.2
sys-devel/gcc:            4.1.2, 4.3.6-r1, 4.4.7, 4.5.4, 4.6.3, 4.7.2-r1, 4.8.0
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.8 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo mpd x11 personal
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-11.x"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
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 /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 buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news nodoc parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync webrsync-gpg xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
INSTALL_MASK=" /usr/share/gtk-doc"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j6"
PKGDIR="/usr/local/portage/bak"
PORTAGE_COMPRESS="xz"
PORTAGE_COMPRESS_FLAGS="-9e"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/mpd /usr/local/portage/layman/x11 /usr/local/portage/personal"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl amd64 bzip2 caps cli cracklib crypt cxx dri gpm hardened mmx mmxext ncurses nls nptl openmp pam pax_kernel sse sse2 sse3 sse4 sse4_1 ssl ssse3 unicode xtpax zlib" ABI_X86="64" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="alaw asym dmix dsnoop empty plug rate route softvol iec958" CURL_SSL="gnutls" ELIBC="glibc" FFTOOLS="ismindex qt-faststart" INPUT_DEVICES="evdev" KERNEL="linux" LIBREOFFICE_EXTENSIONS="pdfimport" LINGUAS="en_GB" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby19" SANE_BACKENDS="snapscan" USERLAND="GNU" VIDEO_CARDS="r600"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 14 Pacho Ramos gentoo-dev 2013-04-17 16:47:53 UTC
Have you tried to find exact USE flag causing the problem when disabling it? It could probably be "webgl", but I am not sure (and rebuilding webkit-gtk with each USE flag combination will take days on my setup)
Comment 15 gbug 2013-04-18 09:33:36 UTC
(In reply to comment #14)
> Have you tried to find exact USE flag causing the problem when disabling it?
> It could probably be "webgl", but I am not sure (and rebuilding webkit-gtk
> with each USE flag combination will take days on my setup)

I have now--webgl was indeed causing the problem. However, as comment 8 suggested, -gstreamer causes a separate failure.

Merging webkit-gtk with USE=webgl\ gstreamer (after gstreamer of course) succeeds.

I must echo Dennis's comment: upstream (not Gentoo) should have tested this before release.
Comment 16 Pacho Ramos gentoo-dev 2013-04-18 19:19:17 UTC
I would then use this bug to handle failure with "-webgl" and, then, the idea would be to attach a new build.log with that USE disabled and forward it also to upstream:
https://bugs.webkit.org/

Then, another bug could be opened here for "-gstreamer" and do the same

Thanks
Comment 17 Pacho Ramos gentoo-dev 2013-04-27 12:25:02 UTC
What is the status of this with 2.0.1? If still failing (probably), we need to know exact USE flag combination causing the problem, I mean, as you look to be wanting to compile it without any USE flag enabled, try enabling one more until you find what two USE flags need to be enabled together
Comment 18 Pacho Ramos gentoo-dev 2013-05-15 11:54:19 UTC
Please also retry with 2.0.2 (that also fixes a compilation problem without gstreamer)
Comment 19 Philipp Adolf 2014-03-07 16:36:31 UTC
Created attachment 371960 [details]
failing build of webkit-gtk-2.0.4 with all USE flags disabled

Portage 2.2.7 (default/linux/amd64/13.0/desktop, gcc-4.7.3, glibc-2.17, 3.13.5-aufs x86_64)
=================================================================
System uname: Linux-3.13.5-aufs-x86_64-Intel-R-_Core-TM-_i7-3610QM_CPU_@_2.30GHz-with-gentoo-2.2
KiB Mem:     7895372 total,   2579492 free
KiB Swap:    8388604 total,   8383824 free
Timestamp of tree: Fri, 07 Mar 2014 14:15:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5-r3, 3.3.3
dev-util/cmake:           2.8.11.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo java gentoo-haskell local
Installed sets: @chromium, @gimp, @googledriveannex, @obnam
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="-j3"
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 splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.hadiko.de/pub/dists/gentoo/gentoo/"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
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"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/java /var/lib/layman/haskell /usr/local/portage/overlay"
USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif gpm gtk iconv ipv6 jpeg lcms ldap libnotify mad mmx mng modules mp3 mp4 mpeg multilib ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds qt3support qt4 readline sdl session spell sse sse2 ssl ssse3 startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vorbis wxwidgets x264 xcb xinerama xml xv 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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" 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="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en en_GB en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="x86_64 i386 arm" QEMU_USER_TARGETS="x86_64 i386 arm" RUBY_TARGETS="ruby19 ruby18" SANE_BACKENDS="genesys" USERLAND="GNU" VIDEO_CARDS="intel 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:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 20 Philipp Adolf 2014-03-07 19:40:01 UTC
Regarding my failing build log: I managed to install webkit-gtk by enabled webgl and gstreamer. However, afterwards I played around a bit more and noticed that only webgl is needed. (I tried "-webgl -gstreamer", with the build log given above, "-webgl gstreamer" which has the same error and "webgl -gstreamer" as well as "webgl gstreamer" which both install fine).