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

Bug 364077

Summary: [4.6] Various packages fail with "symbol lookup error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6: undefined symbol: _ZNSt14error_categoryD2Ev"
Product: Gentoo Linux Reporter: Gen2 <spielc>
Component: New packagesAssignee: Gentoo Toolchain Maintainers <toolchain>
Status: RESOLVED FIXED    
Severity: normal CC: arfrever, bobr, chris, cruzki123, eandry, fkhp101, jlec, kevin.bowling, Marc-Antoine, markus, mozilla, orzel, spiros, StormByte, tdalman, tetromino
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 346809    
Attachments: build.log
environment
sanebuild.log
/var/log/portage/build/dev-libs/nss-3.12.9:20110421-063449.log
mocp-lddebug.log.txt.bz2
nss compiled with gcc-4.6 linked against sqlite with icu eniabled
ld.so.conf
log.gz
gcc-4.6.build.log.xz
shlibsign log
fail.log.gz
nss ebuild workaround for gcc 4.6
glibc-2.13-dlclose-search-reset.patch

Description Gen2 2011-04-18 21:37:51 UTC
When i tried to merge dev-libs/nss-3.12.9 it fails with the error message:

/var/tmp/portage/dev-libs/nss-3.12.9/work/nss-3.12.9/mozilla/security/nss/cmd/shlibsign/Linux2.6_x86_64_x86_64-pc-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/shlibsign: symbol lookup error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6: undefined symbol: _ZNSt14error_categoryD2Ev, version GLIBCXX_3.4.15
make[2]: *** [../../../dist/Linux2.6_x86_64_x86_64-pc-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/lib/libsoftokn3.chk] Error 127

I'll attach the complete build.log to this bug

Reproducible: Always

Steps to Reproduce:
1. updated to gcc4.6.0
2. set gcc-4.6.0 as system compiler
3. emerge -1v =dev-libs/nss-3.12.9
Actual Results:  
build fails with: 

/var/tmp/portage/dev-libs/nss-3.12.9/work/nss-3.12.9/mozilla/security/nss/cmd/shlibsign/Linux2.6_x86_64_x86_64-pc-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/shlibsign: symbol lookup error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6: undefined symbol: _ZNSt14error_categoryD2Ev, version GLIBCXX_3.4.15
make[2]: *** [../../../dist/Linux2.6_x86_64_x86_64-pc-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/lib/libsoftokn3.chk] Error 127

Expected Results:  
nss should be merged without any error message

my emerge --info:

Portage 2.2.0_alpha30 (default/linux/amd64/10.0/desktop/kde, gcc-4.6.0, glibc-2.12.2-r0, 2.6.38-gentoo-r2 x86_64)
=================================================================
System uname: Linux-2.6.38-gentoo-r2-x86_64-AMD_Phenom-tm-_II_X6_1090T_Processor-with-gentoo-2.0.2
Timestamp of tree: Mon, 18 Apr 2011 09:00:01 +0000
app-shells/bash:     4.2_p8
dev-java/java-config: 2.1.11-r3
dev-lang/python:     2.7.1-r1, 3.1.3-r1
dev-util/cmake:      2.8.4
sys-apps/baselayout: 2.0.2
sys-apps/openrc:     0.8.2
sys-apps/sandbox:    2.5
sys-devel/autoconf:  2.13, 2.68
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:  2.21
sys-devel/gcc:       4.4.5, 4.5.2, 4.6.0
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.4-r1
sys-devel/make:      3.82
sys-kernel/linux-headers: 2.6.38
virtual/os-headers:  0
Repositories: gentoo qting-edge kde gcc-porting mozilla local
Installed sets: 
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -msse3 -fomit-frame-pointer -mno-align-stringops -minline-stringops-dynamically -fno-ident -freorder-blocks-and-partition -finline-limit=700 -ftree-vectorize -floop-interchange -floop-strip-mine -floop-block -mstackrealign"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/X11/xdm /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe -msse3 -fomit-frame-pointer -mno-align-stringops -minline-stringops-dynamically -fno-ident -freorder-blocks-and-partition -finline-limit=700 -ftree-vectorize -floop-interchange -floop-strip-mine -floop-block -mstackrealign"
DISTDIR="/mnt/downloads1/kram/linux/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=3 --keep-going --load-average=9 --with-bdeps=y"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://gentoo.lagis.at/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de en_GB"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/qting-edge /var/lib/layman/kde /var/lib/layman/gcc-porting /var/lib/layman/mozilla /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 berkdb branding bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam ffmpeg firefox flac gdbm gdu gif glitz gpm gtk iconv java jpeg kde lcms libnotify mad mikmod mmx mng modules mp2 mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd python qt3 qt3support qt4 readline sdl session spell sse sse2 ssl ssse3 startup-notification svg sysfs tcpd theora threads tiff truetype udev unicode usb vcd vorbis x264 xcb xml xorg xv xvid 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" 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 ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en_GB" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa nv 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, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

to avoid confusion i'll also attach the environment file to this bug to show that my cflags are NOT the problem...
Comment 1 Gen2 2011-04-18 21:41:55 UTC
Created attachment 270433 [details]
build.log
Comment 2 Gen2 2011-04-18 21:42:24 UTC
Created attachment 270435 [details]
environment
Comment 3 Marc-Antoine Perennou 2011-04-18 21:49:00 UTC
have a look at https://bugs.gentoo.org/show_bug.cgi?id=364079
Comment 4 SpanKY gentoo-dev 2011-04-18 22:35:11 UTC
that bug has nothing to do with this one

did you `source /etc/profile` after switching compilers ?  what does `gcc-config -l` show ?
Comment 5 Tolga Dalman 2011-04-19 06:42:32 UTC
I think, this bug is fixed with #362815 ....
Comment 6 Gen2 2011-04-19 07:38:15 UTC
(In reply to comment #5)
> I think, this bug is fixed with #362815 ....

I rebuild icu with gcc-4.6 (just to make sure), updated sqlite to version 3.7.6.2 and tried to recompile nss and it failed again, so in my case it seems to be another issue...

Just for the sake of completeness: if i disable the icu-useflag of sqlite and rebuild nss it works. so Marc-Antoine was right with his estimation that icu is the trouble-maker

@spanky:

As i said everything else compiles without any problems, just nss (and obviously icu) seem to misbehave

gcc-config -l
 [1] x86_64-pc-linux-gnu-4.4.5
 [2] x86_64-pc-linux-gnu-4.5.2
 [3] x86_64-pc-linux-gnu-4.6.0 *
Comment 7 Jory A. Pratt gentoo-dev 2011-04-20 01:36:29 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > I think, this bug is fixed with #362815 ....
> 
> I rebuild icu with gcc-4.6 (just to make sure), updated sqlite to version
> 3.7.6.2 and tried to recompile nss and it failed again, so in my case it seems
> to be another issue...
> 
> Just for the sake of completeness: if i disable the icu-useflag of sqlite and
> rebuild nss it works. so Marc-Antoine was right with his estimation that icu is
> the trouble-maker
> 
> @spanky:
> 
> As i said everything else compiles without any problems, just nss (and
> obviously icu) seem to misbehave
> 
> gcc-config -l
>  [1] x86_64-pc-linux-gnu-4.4.5
>  [2] x86_64-pc-linux-gnu-4.5.2
>  [3] x86_64-pc-linux-gnu-4.6.0 *

lddtree /usr/lib/libsqlite3.so.0.8.6, also when did you actually build gcc last?
Comment 8 Gen2 2011-04-20 08:30:13 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > (In reply to comment #5)
> > > I think, this bug is fixed with #362815 ....
> > 
> > I rebuild icu with gcc-4.6 (just to make sure), updated sqlite to version
> > 3.7.6.2 and tried to recompile nss and it failed again, so in my case it seems
> > to be another issue...
> > 
> > Just for the sake of completeness: if i disable the icu-useflag of sqlite and
> > rebuild nss it works. so Marc-Antoine was right with his estimation that icu is
> > the trouble-maker
> > 
> > @spanky:
> > 
> > As i said everything else compiles without any problems, just nss (and
> > obviously icu) seem to misbehave
> > 
> > gcc-config -l
> >  [1] x86_64-pc-linux-gnu-4.4.5
> >  [2] x86_64-pc-linux-gnu-4.5.2
> >  [3] x86_64-pc-linux-gnu-4.6.0 *
> 
> lddtree /usr/lib/libsqlite3.so.0.8.6, also when did you actually build gcc
> last?

lddtree /usr/lib/libsqlite3.so.0.8.6
libsqlite3.so.0.8.6 => /usr/lib/libsqlite3.so.0.8.6 (interpreter => none)
    libdl.so.2 => /lib64/libdl.so.2
        ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
    libpthread.so.0 => /lib64/libpthread.so.0
    libicui18n.so.46 => /usr/lib64/libicui18n.so.46
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6
        libm.so.6 => /lib64/libm.so.6
        libgcc_s.so.1 => /lib64/libgcc_s.so.1
    libicuuc.so.46 => /usr/lib64/libicuuc.so.46
        libicudata.so.46 => /usr/lib64/libicudata.so.46
    libc.so.6 => /lib64/libc.so.6

ls -lah /usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0/x86_64-pc-linux-gnu-gcc
-rwxr-xr-x 1 root root 333K Apr 18 00:08 /usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0/x86_64-pc-linux-gnu-gcc

looks okey if you ask me...
Comment 9 Jory A. Pratt gentoo-dev 2011-04-20 11:53:35 UTC
WOW after reviewing this emerge --info after a good night sleep I see no point in keeping the bug open. Why do you not just try building icu with much saner CFLAGS some line 

CFLAGS="-march=native -O2 -pipe"
Comment 10 Gen2 2011-04-20 12:55:38 UTC
(In reply to comment #9)
> WOW after reviewing this emerge --info after a good night sleep I see no point
> in keeping the bug open. Why do you not just try building icu with much saner
> CFLAGS some line 
> 
> CFLAGS="-march=native -O2 -pipe"

Hi! As mentioned before i don't think that my CFLAGS are the problem. For the record i was able to build much bigger packages like kdelibs or all the qt-libraries with these CFLAGS without any problem.

But for the sake of completeness:

CFLAGS="-march=native -O2 -pipe" CXXFLAGS="${CFLAGS}" emerge -1v icu sqlite nss > /tmp/sanebuild.log

I'll attach sanebuild.log to this bugreport.
Comment 11 Gen2 2011-04-20 12:56:25 UTC
Created attachment 270647 [details]
sanebuild.log
Comment 12 Gen2 2011-04-20 14:33:50 UTC
Okey as we don't seem to be able to put a finger on the root-cause of this problem, it looks like nothing else needs sqlite built with icu-useflag enabled and i'm not willing to rebuild everything with saner CFLAGS just to make sure that this is not the issue, let's call it quits and i agree with Jory to close it as INVALID or WONTFIX.
Comment 13 Justin Lecher (RETIRED) gentoo-dev 2011-04-21 06:33:59 UTC
I get the same error with march=native O2 pipe.
Comment 14 Justin Lecher (RETIRED) gentoo-dev 2011-04-21 06:37:10 UTC
Created attachment 270749 [details]
/var/log/portage/build/dev-libs/nss-3.12.9:20110421-063449.log

build.log
Comment 15 Tomáš Chvátal (RETIRED) gentoo-dev 2011-04-28 18:22:45 UTC
I can reproduce this on various nice occasions.

As example:

mocp: symbol lookup error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6: undefined symbol: _ZNSt14error_categoryD2Ev, version GLIBCXX_3.4.15

Version i have on my system:

gcc (Gentoo 4.6.0 p1.2, pie-0.4.5) 4.6.0
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Comment 16 Ryan Hill (RETIRED) gentoo-dev 2011-04-29 02:50:13 UTC
$ readelf -s /usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/libstdc++.so.6.0.15 | grep error_categoryD2Ev
  2597: 0000003a46e72710    15 FUNC    GLOBAL DEFAULT   12 _ZNSt14error_categoryD2Ev@@GLIBCXX_3.4.15
Comment 17 Ryan Hill (RETIRED) gentoo-dev 2011-04-29 02:54:35 UTC
This is a bug in moc.
Comment 18 Ryan Hill (RETIRED) gentoo-dev 2011-04-29 02:57:10 UTC
s/./?/

What package is this bug in?  Can you give me a way to reproduce it?
Comment 19 Ryan Hill (RETIRED) gentoo-dev 2011-04-29 03:49:23 UTC
I can reproduce the nss failure now for some reason.

4.6 trunk fails the same way.
Comment 20 Ryan Hill (RETIRED) gentoo-dev 2011-04-30 17:56:35 UTC
As mentioned, if sqlite was built with icu support you can reproduce this with nss. The mocp bug I can't repro so I guess I don't have some tangential lib linked with icu.

I'm on a blackberry so I can't paste the output but you can see what's going wrong by running `LD_DEBUG=all shlibsign -i foo`.  The error occurs when destroying the link map in libicudata.so.46. 

libicudata.so is built by slapping some junk together and making it look kinda like a library so I'm not sure who's at fault here. Someone smarter than me will have to look at it more closely.
Comment 21 Jory A. Pratt gentoo-dev 2011-05-03 01:04:38 UTC
(In reply to comment #19)
> I can reproduce the nss failure now for some reason.
> 
> 4.6 trunk fails the same way.

Ryan if you can give me a more accurate way to duplicate this I will be more then happy to work up a fix, I have sqlite merged with 4.6 with icu useflag enabled and I am still unable to reproduce.
Comment 22 Justin Lecher (RETIRED) gentoo-dev 2011-05-03 07:29:57 UTC
(In reply to comment #21)
> (In reply to comment #19)
> > I can reproduce the nss failure now for some reason.
> > 
> > 4.6 trunk fails the same way.
> 
> Ryan if you can give me a more accurate way to duplicate this I will be more
> then happy to work up a fix, I have sqlite merged with 4.6 with icu useflag
> enabled and I am still unable to reproduce.

it is always reproducable here with nss.
Comment 23 Tomáš Chvátal (RETIRED) gentoo-dev 2011-05-03 10:39:28 UTC
Created attachment 271967 [details]
mocp-lddebug.log.txt.bz2

This is what i get for runnig the mocp.
Comment 24 Tomáš Chvátal (RETIRED) gentoo-dev 2011-05-03 11:01:08 UTC
Also to be specific, the issue is present even if you have ICU from trunk.
Comment 25 Justin Lecher (RETIRED) gentoo-dev 2011-05-03 12:32:21 UTC
*** Bug 365797 has been marked as a duplicate of this bug. ***
Comment 26 Vladimir B. Vinogradov 2011-05-08 18:47:14 UTC
I' successfully build dev-libs/nss-3.12.9 vith gcc-4.6.0 after I disable "icu" flag in make.conf. Later I installed mail-client/thunderbird-3.3_alpha3-r1 and  www-client/firefox-4.0.1 from "mozilla" overlay.

with gcc-4.6.0 I'm using glibc-2.13-r2 and binutils-2.21.51.0.8.
Comment 27 Jory A. Pratt gentoo-dev 2011-05-12 21:02:25 UTC
*** Bug 367011 has been marked as a duplicate of this bug. ***
Comment 28 Jory A. Pratt gentoo-dev 2011-05-12 21:15:05 UTC
Created attachment 272987 [details]
nss compiled with gcc-4.6 linked against sqlite with icu eniabled

[bambam - ~]  emerge --info sqlite nss
Portage 2.1.9.48 (hardened/linux/amd64/no-multilib, gcc-4.6.0, glibc-2.13-r2, 2.6.38-hardened-r3 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-2.6.38-hardened-r3-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7500_@_2.20GHz-with-gentoo-2.0.2
Timestamp of tree: Unknown
ccache version 3.1.4 [enabled]
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.1-r1, 3.1.3-r1
dev-util/ccache:          3.1.4
dev-util/cmake:           2.8.4-r1
sys-apps/baselayout:      2.0.2
sys-apps/openrc:          9999
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.11.1-r1
sys-devel/binutils:       2.21
sys-devel/gcc:            4.6.0
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82
sys-kernel/linux-headers: 2.6.38 (virtual/os-headers)
sys-libs/glibc:           2.13-r2
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-10.1 dlj-1.1"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -pipe -Wimplicit-function-declaration"
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/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=core2 -pipe -Wenum-compare"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs ccache distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms sign strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LC_ALL="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common"
MAKEOPTS="-j3 -s --no-print-directory"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="lzma"
PORTAGE_COMPRESS_FLAGS="-z -9 -f -S .lzma"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/home/gentoo /home/mozilla"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac alsa amd64 audit berkdb bluetooth branding bzip2 cairo cli consolekit cracklib crypt custom-optimization cxx dbus djvu dri dvd extras fam ffmpeg gdbm gpm gtk hardened iconv ipv6 jpeg justify lame libffi libssh2 lzma mmx modules mp3 mpeg mpg123 mudflap ncurses nptl nptlonly nss opengl openmp pam pam_ssh pcre perl png policykit pppd python python3 readline session spell sqlite sse sse2 sse3 ssl ssse3 svg sysfs tcpd threads thunar tiff truetype udev unicode urandom vorbis wifi x264 xinerama xorg xv xvid 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" 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 ubx" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nouveau" 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, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_RSYNC_EXTRA_OPTS

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

dev-db/sqlite-3.7.6.2 was built with the following:
USE="extensions fts3 icu readline threadsafe -debug -doc -secure-delete -soundex -tcl -test -unlock-notify"


dev-libs/nss-3.12.9-r1 was built with the following:
USE="utils"
Comment 29 Chris Smith 2011-05-12 22:15:11 UTC
(In reply to comment #28)
> nss compiled with gcc-4.6 linked against sqlite with icu eniabled

Fails here with:

/var/tmp/portage/dev-libs/nss-3.12.9-r1/work/nss-3.12.9/mozilla/security/nss/cmd/shlibsign/Linux2.6_x86_64_x86_64-pc-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/shlibsign: symbol lookup error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6: undefined symbol: _ZNSt14error_categoryD2Ev, version GLIBCXX_3.4.15
Comment 30 Jory A. Pratt gentoo-dev 2011-05-23 11:53:22 UTC
*** Bug 368339 has been marked as a duplicate of this bug. ***
Comment 31 Markus Peloquin 2011-05-24 13:57:18 UTC
It fails for me.  My theory is that it breaks when you have multiple gcc installed.  I only have gcc-4.4 installed because I'm rebuilding my 1445 packages and I still want to use my computer in the meantime.

$ emerge --info sqlite nss
Portage 2.2.0_alpha34 (default/linux/amd64/10.0/desktop, gcc-4.6.0, glibc-2.13-r2, 2.6.38-gentoo-r5 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-2.6.38-gentoo-r5-x86_64-AMD_Phenom-tm-_II_X4_955_Processor-with-gentoo-2.0.2
Timestamp of tree: Mon, 23 May 2011 06:15:01 +0000
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.1-r2, 3.1.3-r1, 3.2
dev-util/cmake:           2.8.4-r1
sys-apps/baselayout:      2.0.2
sys-apps/openrc:          0.8.2-r1
sys-apps/sandbox:         2.4
sys-devel/autoconf:       2.13, 2.65-r1
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.21
sys-devel/gcc:            4.4.5, 4.6.0
sys-devel/gcc-config:     1.5-r1
sys-devel/libtool:        2.2.10
sys-devel/make:           3.81-r2
sys-kernel/linux-headers: 2.6.38 (virtual/os-headers)
sys-libs/glibc:           2.13-r2
Repositories: gentoo perl-experimental enlightenment galadriel
Installed sets: @enlightenment-live, @enlightenment-modules
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-10 AdobeFlash-10.1 PUEL"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=amdfam10 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/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=amdfam10 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersync"
FFLAGS=""
GENTOO_MIRRORS=" http://gentoo.chem.wisc.edu/gentoo http://gentoo.mirrors.tds.net/gentoo http://gentoo.cites.uiuc.edu/pub/gentoo http://gentoo.netnitco.net/ http://mirrors.cs.wmich.edu/gentoo http://lug.mtu.edu/gentoo ftp://ftp.ussg.iu.edu/pub/linux/gentoo http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://gentoo.osuosl.org/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/perl-experimental /var/lib/layman/enlightenment /usr/local/portage"
SYNC="rsync://rsync21.us.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac aalib acl acpi afs alsa amd64 arts bash-completion berkdb branding bzip2 cairo caps cdda cddb cdparanoia cdr cli consolekit cracklib crypt css cups curl cvs cxx dbus dga directfb dri dts dvd dvdr eds emboss encode esd exif expat fam fbcon ffmpeg firefox flac fontconfig fortran ftp gcj gd gdu geoip ggi gif gpm gstreamer gtk iconv icu imagemagick imap ipod ipv6 java jpeg jpeg2k kde kerberos ladspa lame lapack latex lcms ldap libedit libnotify lzo mad maildir mbox mmx mng modules motroska mp3 mp4 mpeg mpi mplayer mtp mudflap multilib musepack musicbrainz nas ncurses networkmanager nls nntp nptl nptlonly offensive ogg openal openexr opengl openmp pam pango pcre pdf perl plotutils png policykit portaudio postgres ppds pppd python qt3support qt4 quicktime readline samba sasl sdl semantic-desktop session smp speex spell sse sse2 ssl startup-notification static-libs subversion svg sysfs syslog taglib tcpd theora threads tiff truetype udev unicode usb vim-syntax vorbis wavpack wifi wmf wxwidgets x264 xcb xcomposite xft xine xinetd xml xorg xosd xpm xulrunner xv xvid zlib" 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" 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="braindump flow karbon kexi kpresenter krita tables words" 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 ubx" INPUT_DEVICES="evdev keyboard joystick mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fglrx radeon" 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

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

dev-db/sqlite-3.7.6.3 was built with the following:
USE="extensions fts3 icu (multilib) readline secure-delete threadsafe unlock-notify -debug -doc -soundex -tcl -test"
CFLAGS="-O2 -pipe -march=amdfam10"
CXXFLAGS="-O2 -pipe -march=amdfam10"


dev-libs/nss-3.12.10 was built with the following:
USE="(multilib) -utils"
Comment 32 Markus Peloquin 2011-05-26 06:24:09 UTC
never mind; I removed the old gcc and it still fails to build
Comment 33 SpanKY gentoo-dev 2011-05-28 17:47:33 UTC
multiple gcc's should be irrelevant.  if gcc-4.6 is set as the system compiler, and you properly `source /etc/profile` before compiling, then it should build.

does your libstdc++.so actually have the symbol in question ?
$ readelf -s /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6 -W | grep _ZNSt14error_categoryD2Ev
  2597: 00000000000724f0    15 FUNC    GLOBAL DEFAULT   12 _ZNSt14error_categoryD2Ev@@GLIBCXX_3.4.15

post your /etc/ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf and /etc/ld.so.conf files as attachments

if someone can execute the binary directly, does it fail ?
$ cd /var/tmp/portage/dev-libs/nss-3.12.9-r1/work/nss-3.12.9/mozilla/security/nss/cmd/shlibsign/Linux2.6_x86_64_x86_64-pc-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ
$ ./shlibsign

if so, do this:
$ LD_DEBUG=all ./shlibsign >& log

and post the log as an attachment
Comment 34 Tomáš Chvátal (RETIRED) gentoo-dev 2011-05-28 19:10:42 UTC
Created attachment 274933 [details]
ld.so.conf
Comment 35 Tomáš Chvátal (RETIRED) gentoo-dev 2011-05-28 19:12:45 UTC
Created attachment 274935 [details]
log.gz
Comment 36 Tomáš Chvátal (RETIRED) gentoo-dev 2011-05-28 19:13:39 UTC
Dont have the /etc/ld.so.conf.d/ file.
Reopeining with everything else as attachment.
Comment 37 SpanKY gentoo-dev 2011-05-28 20:08:35 UTC
Comment on attachment 274935 [details]
log.gz

that log shows that your program runs correctly.  it needs a log of one failing.
Comment 38 Justin Lecher (RETIRED) gentoo-dev 2011-05-29 08:33:22 UTC
(In reply to comment #33)
> multiple gcc's should be irrelevant.  if gcc-4.6 is set as the system compiler,
> and you properly `source /etc/profile` before compiling, then it should build.
> 
> does your libstdc++.so actually have the symbol in question ?
> $ readelf -s /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6 -W | grep
> _ZNSt14error_categoryD2Ev
>   2597: 00000000000724f0    15 FUNC    GLOBAL DEFAULT   12
> _ZNSt14error_categoryD2Ev@@GLIBCXX_3.4.15
> 
> post your /etc/ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf and /etc/ld.so.conf
> files as attachments
> 

I don't have the symbol.

# ld.so.conf autogenerated by env-update; make all changes to
# contents of /etc/env.d directory
/usr/local/lib
include ld.so.conf.d/*.conf
//usr/lib32/opengl/nvidia/lib
//usr/lib64/opengl/nvidia/lib
/lib64
/usr/lib64
/usr/local/lib64
/lib32
/usr/lib32
/usr/local/lib32
/lib
/usr/lib
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/32
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/32
//usr/lib64/xulrunner-2.0
/usr/lib64/itcl3.4/
/usr/lib64/itk3.4/
/opt/intel/composerxe-2011.4.191/compiler/lib/intel64
/opt/intel/composerxe-2011.4.191/mpirt/lib/intel64
/opt/intel/composerxe-2011.4.191/compiler/lib/ia32
/opt/intel/composerxe-2011.4.191/mpirt/lib/ia32
/usr/lib64/qt4
/usr/lib32/qt4
/usr/lib/qt4
/opt/cuda/lib64
/usr/lib64/fltk-1
/usr/lib64/ncbi-tools++
Comment 39 SpanKY gentoo-dev 2011-05-29 16:43:40 UTC
we need to figure out why your c++ lib doesnt have that symbol

emerge gcc-4.6 and post the full build log as an attachment
Comment 40 Justin Lecher (RETIRED) gentoo-dev 2011-05-29 20:42:42 UTC
Created attachment 275043 [details]
gcc-4.6.build.log.xz
Comment 41 Justin Lecher (RETIRED) gentoo-dev 2011-05-29 20:43:10 UTC
Portage 2.2.0_alpha37 (default/linux/amd64/10.0, gcc-4.6.0-asneeded, glibc-2.13-r2, 2.6.38-lh-r6 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.38-lh-r6-x86_64-Intel-R-_Core-TM-_i7_CPU_860_@_2.80GHz-with-gentoo-2.0.2
Timestamp of tree: Sun, 29 May 2011 08:00:01 +0000
ccache version 3.1.4 [enabled]
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.6.6-r2, 2.7.1-r1, 3.1.3-r1, 3.2
dev-util/ccache:          3.1.4
dev-util/cmake:           2.8.4-r1
sys-apps/baselayout:      2.0.2
sys-apps/openrc:          0.8.2-r1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:       2.21
sys-devel/gcc:            4.5.2, 4.6.0
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1::last-hope
sys-devel/make:           3.82
sys-kernel/linux-headers: 2.6.38 (virtual/os-headers)
sys-libs/glibc:           2.13-r2
Repositories: gentoo sunrise bicatali betagarden dummy science last-hope g-ctan
Installed sets: 
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=corei7 -mcx16 -msahf -mpopcnt -msse4.2 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=corei7 -frecord-gcc-switches -g -Wdisabled-optimization -Wimplicit-function-declaration"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/eselect/ /usr/share/gnupg/qualified.txt /usr/share/nano/ /usr/share/openvpn/easy-rsa /var/lib/hsqldb /var/spool/torque"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /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 -pipe -march=corei7 -mcx16 -msahf -mpopcnt -msse4.2 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=corei7 -frecord-gcc-switches -g -Wdisabled-optimization -Wenum-compare"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="-t --jobs=12 --load-average=12 --keep-going"
FEATURES="assume-digests binpkg-logs buildsyspkg ccache collision-protect distlocks ebuild-locks fixlafiles fixpackages metadata-transfer multilib-strict news noinfo parallel-fetch preserve-libs protect-owned sandbox sfperms sign split-log splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe -march=corei7 -mcx16 -msahf -mpopcnt -msse4.2 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=corei7 -frecord-gcc-switches -g -Wdisabled-optimization"
GENTOO_MIRRORS=" /mnt/tmpfs/ http://gentoo.j-schmitz.net/mirror/ ftp://ftp.gentoo.mesh-solutions.com/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common"
LINGUAS="en"
MAKEOPTS="-j16 -l12"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="xz"
PORTAGE_COMPRESS_FLAGS="-z -v"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/data/local/sunrise/reviewed /data/local/bicatali /data/local/betagarden /data/local/dummy /data/local/sci /data/local/lh/ebuilds /data/local/g-ctan"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="64bit 7zip X acpi additions alsa amd64 arpwarp atlas bash-completion berkdb blas branding bzip2 c++ cairo caps cblas ccache cleartype cli command-args consolekit corefonts cracklib crypt cups cupsddk custom-optimization cxx dbus dri dts exif fbcondecor fortran gdbm gif glib glibc-omitfp gmp gnome gnome-keyring gpm graphics gstreamer gtk hddtemp iconv icu ios ipod iproute2 iptables ipv6 ipython javascript jpeg kqemu lapack largefile lcms ldap libnotify libsexy lm_sensors lzma mailtrain md5sum mmx mng modules mp3 mudflap multilib multiuser nagios-dns nagios-ntp nagios-ping nagios-ssh nano-syntax ncurses network-cron nis nls nptl nptlonly nsplugin objc objc++ opengl openmp openntpd pam pcre pdf perl png policykit pppd pymol python qt-static qt3support readline rrdcgi rrdtool science sensord session smp sqlite sqlite3 sse sse2 ssl startup-notification svg sysfs system-sqlite tcpd threads tiff truetype type1 udev unicode vaapi vdpau x264 xcb xcomposite xinerama xorg xulrunner 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="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="plymouth" 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" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" 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:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_RSYNC_EXTRA_OPTS

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

sys-devel/gcc-4.6.0 was built with the following:
USE="fortran gcj graphite mudflap (multilib) nls nptl objc objc++ openmp (-altivec) -bootstrap -build -doc (-fixed-point) -go -gtk (-hardened) (-libffi) -multislot (-n32) (-n64) -nocxx -nopie -nossp -objc-gc -test -vanilla"
CFLAGS="-O2 -pipe -march=corei7 -mtune=corei7 -g -Wdisabled-optimization -Wimplicit-function-declaration"
CXXFLAGS="-O2 -pipe -march=corei7 -mtune=corei7 -g -Wdisabled-optimization -Wenum-compare"
Comment 42 SpanKY gentoo-dev 2011-05-30 02:45:21 UTC
dare i ask, but if you drop all the rice from your build, does your libstdc++ get the symbol in question ?
Comment 43 Justin Lecher (RETIRED) gentoo-dev 2011-05-30 06:02:09 UTC
Actually, that is no rice. That are the flags, which are set with --march=native plus some warning flags, which hardly are ricing. But I will do it plain.
Comment 44 Justin Lecher (RETIRED) gentoo-dev 2011-05-30 11:27:03 UTC
I suspect ccache now.
Two things happened, first I bumped ccache to 3.1.5 and I reemerged gcc a douzen of times. I cannot tell where in the sequence the symbols made the way into libstdc++, but now I am not able to "remove" them again.
Comment 45 Justin Lecher (RETIRED) gentoo-dev 2011-05-30 11:30:26 UTC
Bug fixes
~~~~~~~~~

    - The `-MF`/`-MT`/`-MQ` options with concatenated argument are now handled
      correctly when they are last on the commandline.
    - ccache is now bug compatible with GCC for the `-MT`/`-MQ` options with
      concatenated arguments.

From the ccache Changelog. This might be related.
Comment 46 Justin Lecher (RETIRED) gentoo-dev 2011-05-30 11:38:11 UTC
Strange.


# readelf -s /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6.0.15 | grep _ZNSt14error_categoryD2Ev
  2597: 00000000000727a0    15 FUNC    GLOBAL DEFAULT   12 _ZNSt14error_categoryD2Ev@@GLIBCXX_3.4.15

but still nss fails with


/var/tmp/portage/dev-libs/nss-3.12.10/work/nss-3.12.10/mozilla/security/nss/cmd/shlibsign/Linux2.6_x86_64_x86_64-pc-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/shlibsign: symbol lookup error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6: undefined symbol: _ZNSt14error_categoryD2Ev, version GLIBCXX_3.4.15
make[2]: *** [../../../dist/Linux2.6_x86_64_x86_64-pc-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/lib/libsoftokn3.chk] Error 127
Comment 47 Justin Lecher (RETIRED) gentoo-dev 2011-05-30 11:40:34 UTC
Created attachment 275179 [details]
shlibsign log
Comment 48 Justin Lecher (RETIRED) gentoo-dev 2011-05-30 12:10:02 UTC
FEATURES="-ccache" CFLAGS="-O2 -pipe -march=native" CXXFLAGS="-O2 -pipe -march=native" FCFLAGS="-O2 -pipe -march=native" LDFLAGS="-Wl,-O1 -Wl,--as-needed" emerge -1 gcc:4.6

FEATURES="-ccache" CFLAGS="-O2 -pipe -march=native" CXXFLAGS="-O2 -pipe -march=native" emerge -1 nss

same problem
Comment 49 Ryan Hill (RETIRED) gentoo-dev 2011-06-11 01:20:43 UTC
This is a runtime error so it has nothing to do with ccache.  For some reason the symbol for the error_category destructor isn't getting resolved until after the link map has been destroyed.  If you run `LD_BIND_NOW=1 shlibsign -i foo` you can see it works.
Comment 50 Ryan Hill (RETIRED) gentoo-dev 2011-06-11 01:24:52 UTC
Created attachment 276599 [details]
fail.log.gz

dirtyepic@tundra ~ $ LD_DEBUG=all shlibsign -i foo > fail.log 2>&1

dirtyepic@tundra ~ $ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0-pre9999/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.0-pre9999/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.6.0_pre9999/work/gcc-4.6.0-9999/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.0-pre9999 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0-pre9999/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.0-pre9999 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.0-pre9999/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.0-pre9999/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0-pre9999/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --with-ppl --with-cloog --disable-ppl-version-check --with-cloog-include=/usr/include/cloog-ppl --enable-lto --disable-nls --with-system-zlib --disable-werror --enable-secureplt --enable-multilib --disable-libmudflap --disable-libssp --enable-libgomp --enable-cld --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.6.0-pre9999/python --enable-checking=release --disable-libgcj --enable-languages=c,c++,go --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo SVN'
Thread model: posix
gcc version 4.6.0-pre9999 20110420 (prerelease) rev. 172753 (Gentoo SVN)
Comment 51 Ryan Hill (RETIRED) gentoo-dev 2011-06-11 02:06:11 UTC
Jory: i believe the reason you can't reproduce this is that (IIRC) on hardened all symbols are resolved at launch.  On a non-hardened system lazy binding is the default.
Comment 52 Ryan Hill (RETIRED) gentoo-dev 2011-06-17 05:20:11 UTC
The arch guys "fixed" moc with this patch:

https://bugs.archlinux.org/task/23879?getfile=6862

which seems odd.  doesn't ld_dlexit run ld_dlclose on any open modules?

https://bugs.archlinux.org/task/23879 for the report.
Comment 53 Ryan Hill (RETIRED) gentoo-dev 2011-06-19 03:47:55 UTC
Another testcase with imagemagick

 $  identify -list Format
   Format  Module    Mode  Description
-------------------------------------------------------------------------------
      3FR  DNG       r--   Hasselblad CFV/H3D39II
        A* RAW       rw+   Raw alpha samples
      AAI* AAI       rw+   AAI Dune image
[...]
   YCbCrA* YCbCr     rw+   Raw Y, Cb, Cr, and alpha samples
      YUV* YUV       rw-   CCIR 601 4:1:1 or 4:2:2

* native blob support
r read support
w write support
+ support for multiple images
identify: symbol lookup error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6: undefined symbol: _ZNSt14error_categoryD2Ev, version GLIBCXX_3.4.15

Same deal, libstdc++ pulled in by icu pulled in by libxml2.
Comment 54 Sabayonino 2011-06-19 12:01:35 UTC
Hi
I had the same problem

I Solved compiling nss with other gcc-version ( in my case 4.4.5 version).after this , switch gcc profile to your prefer profile and merge what you like

cheers :)
Comment 55 Justin Lecher (RETIRED) gentoo-dev 2011-06-19 13:32:31 UTC
I don't know, whether this has the same source, but switching back from gcc46 to gcc45 doesn't work cleanly:


/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld)
collect2: ld returned 1 exit status
make[1]: *** [Linux2.6_x86_64_x86_64-pc-linux-gnu-gcc_glibc_PTH_64_OPT.OBJ/nsinstall] Error 1
Comment 56 Alexandre Rostovtsev (RETIRED) gentoo-dev 2011-07-07 15:29:05 UTC
Created attachment 279339 [details, diff]
nss ebuild workaround for gcc 4.6

The attached patch to the nss-3.12.10 ebuild at least allows nss to build and install with gcc 4.6 on non-hardened systems while this issue is being investigated.
Comment 57 Ryan Hill (RETIRED) gentoo-dev 2011-07-08 00:20:55 UTC
The installed shlibsign will still be broken.
Comment 58 Ryan Hill (RETIRED) gentoo-dev 2011-07-09 04:25:24 UTC
from Harald van Dijk:


Firstly, here's a minimal testcase to expose the problem:

$ cat test.c
#include <dlfcn.h>
#include <assert.h>

int main(void)
{
    void *so1, *so2;
    so1 = dlopen("./test1.so", RTLD_LAZY);
    assert(so1);
    so2 = dlopen("./test2.so", RTLD_LAZY);
    assert(so2);

    dlclose(so1);
    dlclose(so2);

    return 0;
}
$ gcc test.c -o test -ldl
$ gcc -fPIC -shared -xc /dev/null -o test1.so
$ g++ -fPIC -shared -xc++ /dev/null -o test2.so
$ ./test

Reordering the dlclose calls alters the behaviour. With RTLD_NOW, it
works with either dlclose ordering.

Secondly, the reason this works with gcc 4.5 is because error_category's
destructor was implicitly inline. Its definition has moved, and it is no
longer inline in 4.6.
Comment 59 Ryan Hill (RETIRED) gentoo-dev 2011-07-10 08:05:16 UTC
Created attachment 279573 [details, diff]
glibc-2.13-dlclose-search-reset.patch

Finally tracked it down.

https://bugzilla.redhat.com/593675
http://sourceware.org/ml/libc-hacker/2010-05/msg00007.html
Comment 60 Pacho Ramos gentoo-dev 2011-07-10 18:01:29 UTC
*** Bug 374649 has been marked as a duplicate of this bug. ***
Comment 61 SpanKY gentoo-dev 2011-07-13 06:04:22 UTC
nice work.  ive queued it for glibc 2.12.2, released it in glibc-2.13-r4, and released it in glibc-2.14.
Comment 62 Jory A. Pratt gentoo-dev 2011-09-14 20:25:16 UTC
*** Bug 382481 has been marked as a duplicate of this bug. ***