Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 476832 - www-client/chromium-28.0.1500.71 error: redefinition of typedef 'SECItemArray'
Summary: www-client/chromium-28.0.1500.71 error: redefinition of typedef 'SECItemArray'
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: Normal major (vote)
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-14 18:43 UTC by Matteo 'The Peach' Pescarin
Modified: 2013-07-26 16:17 UTC (History)
1 user (show)

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


Attachments
build.log for chromium-28.0.1500.71 (114307.txt,168.84 KB, text/plain)
2013-07-14 18:43 UTC, Matteo 'The Peach' Pescarin
Details
Replacement for current chromium-nss-3.15.patch (chromium-nss-3.15.patch,675 bytes, patch)
2013-07-15 11:39 UTC, Ivan Boldyrev
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matteo 'The Peach' Pescarin 2013-07-14 18:43:17 UTC
Created attachment 353282 [details]
build.log for chromium-28.0.1500.71

Building latest stable of chromium the compilation aborts with this error:

net/third_party/nss/ssl/bodge/secitem_array.c:15:32: error: redefinition of typedef ‘SECItemArray’
/usr/include/nss/seccomon.h:57:32: note: previous declaration of ‘SECItemArray’ was here
make: *** [out/Release/obj.target/libssl/net/third_party/nss/ssl/bodge/secitem_array.o] Error 1

emerge --info:
Portage 2.1.12.2 (default/linux/amd64/13.0, gcc-4.5.4, glibc-2.15-r3, 3.7.10 x86_64)
=================================================================
System uname: Linux-3.7.10-x86_64-Intel-R-_Core-TM-_i7_CPU_M_620_@_2.67GHz-with-gentoo-2.2
KiB Mem:     5960968 total,    270732 free
KiB Swap:     995992 total,    617656 free
Timestamp of tree: Sun, 14 Jul 2013 10:15:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5-r1, 3.1.5, 3.2.5-r1
dev-util/cmake:           2.8.10.2-r2
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.9.6-r3, 1.10.3, 1.11.6, 1.12.6
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.3.4, 4.4.5, 4.5.4, 4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo ruby vmware godin gamerlay enlightenment gechi betagarden gnome x-portage
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.2/ext-active/ /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.2/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.2/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /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=core2"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs candy 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"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://trumpetti.atm.tut.fi/gentoo/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.unina.it/pub/linux/distributions/gentoo"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
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/ruby /var/lib/layman/vmware /var/lib/layman/godin /var/lib/layman/gamerlay /var/lib/layman/enlightenment /var/lib/layman/gechi /var/lib/layman/betagarden /var/lib/layman/gnome /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb bluetooth bzip2 cairo cddb cleartype cli consolekit cracklib crypt cups cxx dbus dri dvd dvdr exif ffmpeg flac foomaticdb fortran gdbm gif gimp gpm gtk iconv idn ipv6 jpeg jpeg2k lcms libnotify libsamplerate mmx mng modules mp3 mpeg mudflap multilib ncurses nls nptl nsplugin offensive ogg opengl openmp pam pcre png policykit ppds pulseaudio qt3support qt4 readline samba schroedinger session sse sse2 ssl ssse3 startup-notification svg syslog tcpd theora threads tiff truetype udev unicode usb v4l v4l2 vorbis wavpack win32codecs wma x264 xcomposite xft xinerama xml xpm xscreensaver xv xvid zlib zsh-completion" 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="actions alias auth_basic authn_alias authn_anon authn_default authn_file authz_default authz_groupfile authz_host authz_user autoindex cache 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" APACHE2_MPMS="peruser" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="*" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" ENLIGHTENMENT_MODULES="*" 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" INPUT_DEVICES="evdev keyboard mouse synaptics joystick wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_GB it" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia v4l" XFCE_PLUGINS="brightness menu trash logout clock" 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Mike Gilbert gentoo-dev 2013-07-14 19:06:19 UTC
What version of dev-libs/nss?
Comment 2 Matteo 'The Peach' Pescarin 2013-07-14 19:08:31 UTC
(In reply to Mike Gilbert from comment #1)
> What version of dev-libs/nss?

3.15
Comment 3 Mike Gilbert gentoo-dev 2013-07-14 19:35:17 UTC
Hmm... chromium-nss-3.15.patch should have fixed that. I'll try to reproduce.
Comment 4 Ivan Boldyrev 2013-07-15 10:09:46 UTC
(In reply to Mike Gilbert from comment #3)
> Hmm... chromium-nss-3.15.patch should have fixed that. I'll try to reproduce.

It fixes SECItemArrayStr definition, but not SECItemArray just above it.
Comment 5 Ivan Boldyrev 2013-07-15 11:39:36 UTC
Created attachment 353344 [details, diff]
Replacement for current chromium-nss-3.15.patch

I crafted a patch that hides both SECItemArray and SECItemArrayStr.  Works for me now.
Comment 6 Mike Gilbert gentoo-dev 2013-07-16 04:32:43 UTC
Hmm... interesting. I'll let phanjdan review.
Comment 7 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2013-07-17 17:21:01 UTC
(In reply to Mike Gilbert from comment #6)
> Hmm... interesting. I'll let phanjdan review.

This is very similar to https://codereview.chromium.org/16982002 , except that it also hides typedef struct SECItemArrayStr SECItemArray;

If you can get that change upstream (I suggest same reviewer as the original change), I'm fine with backporting it to Gentoo. Note that I have tested the original patch (chromium-nss-3.15.patch) and it did work with nss-3.15.
Comment 8 Matteo 'The Peach' Pescarin 2013-07-21 10:54:00 UTC
Just to confirm: on my other machine (x86_64) I've got the very same error with Chromium-29.0.1547.22.
Comment 9 Mike Gilbert gentoo-dev 2013-07-21 15:34:53 UTC
I'm still curious as to why I am unable to reproduce the problem.

Maybe your gcc-4.5.4 flags this as an error while my gcc-4.8.1 allows the duplicate typedef.
Comment 11 Matteo 'The Peach' Pescarin 2013-07-21 16:24:10 UTC
good point.

Would you recommend sticking to my current version or upgrade to 4.6? (which I do have installed but never bothered upgrading)
Comment 12 Mike Gilbert gentoo-dev 2013-07-21 16:47:16 UTC
(In reply to Matteo 'The Peach' Pescarin from comment #11)
> Would you recommend sticking to my current version or upgrade to 4.6? (which
> I do have installed but never bothered upgrading)

I always recommend using the latest stable version of gcc, which would be gcc-4.6 at this time.

We should still fix the Chromium code, however; there's no reason to define that typedef twice.
Comment 13 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2013-07-25 23:24:04 UTC
(In reply to Mike Gilbert from comment #12)
> I always recommend using the latest stable version of gcc, which would be
> gcc-4.6 at this time.

+1 ; still, by using older versions you can discover unusual things like this bug

> We should still fix the Chromium code, however; there's no reason to define
> that typedef twice.

Agreed. Submitted https://codereview.chromium.org/20561004/ for review.
Comment 14 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2013-07-26 16:17:49 UTC
Updated the patch in portage, thanks!