Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 412615

Summary: www-client/chromium is not gcc-4.7 compatible
Product: Gentoo Linux Reporter: iGentoo <AlphatPC>
Component: [OLD] UnspecifiedAssignee: Chromium Project <chromium>
Status: RESOLVED FIXED    
Severity: normal CC: biert85, dev-zero, facorread, jauhien, jcallen, jlec, kuba.iluvatar, marduk, Martin.Jansa, patrizio.bassi, shubhadeepc, tdalman
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: http://code.google.com/p/chromium/issues/detail?id=120724
http://code.google.com/p/chromium/issues/detail?id=122525
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 427246    
Bug Blocks: 390247    
Attachments: build.log.tar.xz
gcc-4.7.patch
Patch from upstream
chromium-gcc-4.7-r1.patch

Description iGentoo 2012-04-19 08:30:14 UTC
In file included from seccompsandbox/library.cc:7:0:
seccompsandbox/library.h:159:46: error: ‘ssize_t’ has not been declared
seccompsandbox/library.cc:94:7: error: prototype for ‘char* playground::Library::getBytes(char*, const char*, ssize_t)’ does not match any in class ‘playground::Library’
In file included from seccompsandbox/library.cc:7:0:
seccompsandbox/library.h:159:9: error: candidate is: char* playground::Library::getBytes(char*, const char*, int)
make: *** [out/Release/obj.target/seccomp_sandbox/seccompsandbox/library.o] Error 1



ipc/ipc_platform_file.cc: In function ‘IPC::PlatformFileForTransit IPC::GetFileHandleForProcess(base::PlatformFile, base::ProcessHandle, bool)’:
ipc/ipc_platform_file.cc:39:43: error: ‘::dup’ has not been declared
make: *** [out/Release/obj.target/ipc/ipc/ipc_platform_file.o] Error 1



base/message_pump_libevent.cc: In destructor ‘virtual base::MessagePumpLibevent::~MessagePumpLibevent()’:
base/message_pump_libevent.cc:137:9: error: ‘close’ was not declared in this scope
base/message_pump_libevent.cc:137:9: error: invalid type in declaration before ‘;’ token
base/message_pump_libevent.cc:141:9: error: ‘close’ was not declared in this scope
base/message_pump_libevent.cc:141:9: error: invalid type in declaration before ‘;’ token
base/message_pump_libevent.cc: In member function ‘virtual void base::MessagePumpLibevent::ScheduleWork()’:
base/message_pump_libevent.cc:301:16: error: ‘write’ was not declared in this scope
base/message_pump_libevent.cc:301:16: error: invalid type in declaration before ‘;’ token
base/message_pump_libevent.cc: In member function ‘bool base::MessagePumpLibevent::Init()’:
base/message_pump_libevent.cc:324:15: error: ‘pipe’ was not declared in this scope
base/message_pump_libevent.cc: In static member function ‘static void base::MessagePumpLibevent::OnWakeup(int, short int, void*)’:
base/message_pump_libevent.cc:378:15: error: ‘read’ was not declared in this scope
base/message_pump_libevent.cc:378:15: error: invalid type in declaration before ‘;’ token
make: *** [out/Release/obj.target/base/base/message_pump_libevent.o] Error 1



chrome/browser/policy/policy_path_parser_linux.cc: In function ‘FilePath::StringType policy::path_parser::ExpandPathVariables(const StringType&)’:
chrome/browser/policy/policy_path_parser_linux.cc:35:44: error: ‘geteuid’ was not declared in this scope
chrome/browser/policy/policy_path_parser_linux.cc:45:37: error: ‘gethostname’ was not declared in this scope
make: *** [out/Release/obj.target/browser/chrome/browser/policy/policy_path_parser_linux.o] Error 1


Portage 2.2.0_alpha100 (hardened/linux/amd64/selinux, gcc-4.7.0, glibc-2.15, 3.4.0-rc3-custom x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.4.0-rc3-custom-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9300_@_2.50GHz-with-gentoo-2.1
Timestamp of tree: Thu, 19 Apr 2012 07:15:01 +0000
ccache version 3.1.7 [disabled]
app-shells/bash:          4.2_p24
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.3, 3.2.2-r1
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.7-r5
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.9.3
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.11.5
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.3::hardened-dev, 4.7.0::hardened-dev
sys-devel/gcc-config:     1.7
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.3 (virtual/os-headers)
sys-libs/glibc:           2.15::custom
Repositories: gentoo systemd hardened-dev custom
Installed sets: @custom-initramfs-rebuild, @custom-protected, @custom-selibs-rebuild
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-Wall -Wextra -march=native -pipe -O3 -fno-tree-vectorize"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"
CXXFLAGS="-Wall -Wextra -march=native -pipe -O3 -fno-tree-vectorize"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n"
FEATURES="assume-digests binpkg-logs collision-protect distlocks ebuild-locks fixlafiles multilib-strict news parallel-fetch preserve-libs protect-owned sandbox selinux sesandbox sfperms split-elog split-log strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync webrsync-gpg xattr"
FFLAGS=""
GENTOO_MIRRORS="http://mirrors.163.com/gentoo http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--sort-common -Wl,--sort-section=alignment"
LINGUAS="en en_US zh zh_CN"
MAKEOPTS="V=1 -j10"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="xz"
PORTAGE_COMPRESS_FLAGS="-9ef"
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="/var/lib/layman/systemd /var/lib/layman/hardened-development /usr/local/portage"
SYNC="rsync://mirrors.xmu.edu.cn/gentoo-portage"
USE="X acl alsa amd64 audit bash-completion berkdb bzip2 c++0x cairo caps cli cracklib crypt cxx dbus dri gdbm gmp gnome gpm gtk gtk3 hardened iconv ipv6 jit jpeg jpeg2k justify mmx modules mudflap multilib ncurses nls nptl nptlonly open_perms opengl openmp pam pcre png pppd pulseaudio qt4 readline selinux session sse sse2 ssl svg sysfs systemd tcpd threads tiff unicode urandom vim-syntax xattr xinetd xorg zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="btrfs caps dmsquash-live gensplash livenet lvm nbd nfs plymouth ssh-client 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 ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US zh zh_CN" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nouveau 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_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

www-client/chromium-20.0.1105.0 was built with the following:
USE="custom-cflags gnome (multilib) -bindist -cups -gnome-keyring -kerberos (-pulseaudio) (-selinux) -test" LINGUAS="zh_CN -am -ar -bg -bn -ca -cs -da -de -el -en_GB -es -es_LA -et -fa -fi -fil -fr -gu -he -hi -hr -hu -id -it -ja -kn -ko -lt -lv -ml -mr -ms -nb -nl -pl -pt_BR -pt_PT -ro -ru -sk -sl -sr -sv -sw -ta -te -th -tr -uk -vi -zh_TW"
Comment 1 iGentoo 2012-04-19 08:31:11 UTC
Created attachment 309497 [details]
build.log.tar.xz
Comment 2 iGentoo 2012-04-19 08:32:43 UTC
Created attachment 309499 [details, diff]
gcc-4.7.patch
Comment 3 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2012-04-19 08:50:52 UTC
I'll reply in the upstream bug.
Comment 4 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2012-04-30 10:01:28 UTC
(In reply to comment #3)
> I'll reply in the upstream bug.
Even if you're going to do all the work upstream, this bug is still needed open as it tracks the issue in Gentoo giving the porting team valuable information about affected versions in tree.
The best way to close it later on, is to paste relevant part of ChangeLog or at least the info in which version it was fixed.
Comment 5 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2012-05-09 17:27:38 UTC
Also note a segmentation fault that happens after successful compilation.
Comment 6 Dmitry Suloev 2012-05-24 08:36:45 UTC
Same problem for me.
Comment 7 Joel 2012-05-25 09:27:43 UTC
The patch fails when applying to www-client/chromium-20.0.1132.17
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2012-05-25 16:09:53 UTC
*** Bug 417389 has been marked as a duplicate of this bug. ***
Comment 9 Vasco Gervasi 2012-05-27 09:04:15 UTC
(In reply to comment #7)
> The patch fails when applying to www-client/chromium-20.0.1132.17

Same here
Comment 10 Vasco Gervasi 2012-05-27 14:27:26 UTC
Same error with chromium-21.0.1145.0
Comment 11 Philipp Richter 2012-05-27 15:48:14 UTC
Alright so taking the patches included in the AUR package from Arch: https://aur.archlinux.org/packages.php?ID=37244

gcc47v3.diff
ipc-fix.diff
sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch

and applying them to 21.0.1145.0 makes it compile with gcc-4.7 and fixes (I haven't experienced any segfaults so far) the segfaults.
Comment 12 Vasco Gervasi 2012-05-29 10:53:50 UTC
(In reply to comment #11)
> Alright so taking the patches included in the AUR package from Arch:
> https://aur.archlinux.org/packages.php?ID=37244
> 
> gcc47v3.diff
> ipc-fix.diff
> sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch
> 
> and applying them to 21.0.1145.0 makes it compile with gcc-4.7 and fixes (I
> haven't experienced any segfaults so far) the segfaults.

For worked.

Thanks
Comment 13 Hristo Venev 2012-05-29 16:06:37 UTC
(In reply to comment #11)
> Alright so taking the patches included in the AUR package from Arch:
> https://aur.archlinux.org/packages.php?ID=37244
> 
> gcc47v3.diff
> ipc-fix.diff
> sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch
> 
> and applying them to 21.0.1145.0 makes it compile with gcc-4.7 and fixes (I
> haven't experienced any segfaults so far) the segfaults.

These patches also work for me. (compiles and no segfaults)
Comment 14 Mike Gilbert gentoo-dev 2012-06-05 22:41:38 UTC
Created attachment 314359 [details, diff]
Patch from upstream

This applies cleanly to chromium-21.0.1163.0.
Comment 15 Mike Gilbert gentoo-dev 2012-06-05 22:44:20 UTC
Upstream commit:

http://src.chromium.org/viewvc/chrome?view=rev&revision=140470
Comment 16 Tiziano Müller (RETIRED) gentoo-dev 2012-06-11 11:16:15 UTC
@floppym: thanks, patch works
Comment 17 Albert W. Hopkins 2012-06-13 11:10:21 UTC
They broke it again in 21.0.1171.0:

----
chrome/browser/memory_details_linux.cc:191:74: error: 'getpid' was not declared in this scope
make: *** [out/Release/obj.target/browser/chrome/browser/memory_details_linux.o] Error 1
----

And the above patch does not apply with that version.
Comment 18 Tiziano Müller (RETIRED) gentoo-dev 2012-06-18 05:27:23 UTC
Created attachment 315639 [details, diff]
chromium-gcc-4.7-r1.patch

Right, but that's the only incompatibility in fact.
The patch I used to fix it is attached.
Comment 19 Geert Lamers 2012-06-29 09:56:58 UTC
I'm getting the exact error message from the description with www-client/chromium-20.0.1132.43 and sys-devel/gcc-4.7.1. None of the patches mentioned here seem to apply to this version.
Comment 20 Mike Gilbert gentoo-dev 2012-06-29 16:48:47 UTC
(In reply to comment #19)

I doubt we are going to fix chromium-20.
Comment 21 Patrizio Bassi 2012-06-30 13:14:25 UTC
Mike,
due to this bug i'm stuck in 19.xx with security issues.

while waiting for upstream I would propose you to adapt the patch for a 20xx release, and, even if chromium team is going to release new versions, have at least one gcc 4.7 compatibile version.

is that feasable for you?
Comment 22 Justin Lecher (RETIRED) gentoo-dev 2012-06-30 13:47:28 UTC
(In reply to comment #21)
> Mike,
> due to this bug i'm stuck in 19.xx with security issues.
> 
> while waiting for upstream I would propose you to adapt the patch for a 20xx
> release, and, even if chromium team is going to release new versions, have
> at least one gcc 4.7 compatibile version.
> 
> is that feasable for you?

If you are unmasking gcc, why don't you also go for chromium-21*?
Works fine here.
Comment 23 Patrizio Bassi 2012-06-30 16:23:51 UTC
you're right but gcc 4.7.1 is considered stable upstream, chromium 21 not.

anyway ill go for that solution.
Comment 24 Fabio Correa 2012-08-01 04:50:30 UTC
Release of Chrome 21 to the Stable Channel. 21.0.1180.57 for Mac and Linux.

I hope it helps the stabilization process of GCC.
Comment 25 Jason A. Donenfeld gentoo-dev 2012-08-02 21:51:34 UTC
This is fixed in the latest chromium dev channel.

http://src.chromium.org/viewvc/chrome?view=rev&revision=148519


Can somebody bump the dev channel ebuild to google's latest chromium dev channel release?
Comment 26 Mike Gilbert gentoo-dev 2012-08-02 22:59:31 UTC
I'm able to successfully build chromium-22.0.1221.1 with gcc-4.7.1.