Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 547420 - sys-libs/glibc-2.20: setgid not implemented when compiled w/gcc-4.8.[0-3] & gcc-4.9.[01]
Summary: sys-libs/glibc-2.20: setgid not implemented when compiled w/gcc-4.8.[0-3] & g...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal blocker
Assignee: Gentoo Toolchain Maintainers
URL: http://sourceware.org/glibc/wiki/Rele...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-22 17:08 UTC by Marc Burkhardt
Modified: 2015-08-26 09:30 UTC (History)
6 users (show)

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


Attachments
emerge --info (file_547420.txt,30.33 KB, text/plain)
2015-04-26 07:04 UTC, Marc Burkhardt
Details
emerge --info from one of my x86 affected machines. (emergeinfo,5.86 KB, text/plain)
2015-04-26 07:37 UTC, Peter Fox
Details
emerge --info for glibc-2.20 built with gcc4.8.4 etc and ok. (emergeinfo,5.84 KB, text/plain)
2015-04-26 19:36 UTC, Peter Fox
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marc Burkhardt 2015-04-22 17:08:53 UTC
After upgrading from glibc-2.19-r1 to glibc-2.20-r2 (which is stable) I can no longer "su" or ie. start arpwatch. Anything that issues setgid privilege stuff is going to die. No login possible.

Reproducible: Always

Steps to Reproduce:
1. Install glibc-2.20-r2
2. issue "su -" from a logged in user _or_
3. login on a tty
Actual Results:  
No privilege stuff longer works, no one can login.

Expected Results:  
Let me login again? :)

root@marc:/etc/pam.d # objdump -T /lib/libc-2.20.so | grep setgid
000b7e40  w   DF .text  00000070  GLIBC_2.0   setgid
Comment 1 Marc Burkhardt 2015-04-22 17:14:58 UTC
I have these in my logs as well:

Apr 22 19:10:47 marc su[19160]: Successful su for marc by root
Apr 22 19:10:47 marc su[19160]: + /dev/pts/0 root:marc
Apr 22 19:10:47 marc su[19160]: bad group ID `407' for user `marc': Function not implemented 

Apr 22 18:15:24 marc login[16158]: pam_unix(login:session): session opened for user marc by LOGIN(uid=0)
Apr 22 18:15:24 marc login[16158]: pam_mail(login:session): pam_modutil_drop_priv: setgroups failed: Function not implemented
Apr 22 18:15:24 marc login[16158]: bad group ID `407' for user `marc': Function not implemented
Comment 2 Marc Burkhardt 2015-04-22 19:30:22 UTC
OK, what did I do after my box was somehow halted (screen on, nothing moved any more):

- boot into Knoppix
- pushed my weekly system backup HDD in my wife laptop
- ssh'ed over the old 2.19 files from /lib onto my SSD /lib folder
- copied all *2.19.so files into their *2.20.so counterparts
- rebooted
- logged in

I will habe to copy all other 'obj' as shown in /var/db/pkg/sys-libs/glibc-2.20-r2/CONTENTS into their respective counterparts to have the headers and stuff match the binaries.

This, however, is just a dirty dirty workaround that I use to bypass the cannot-login-thing. Currently my machine works like normal but I won't install anything new until this issue is resolved.

Maybe I could that I just turned off the gold linker and switched over to ld.bfd again before I compiled glibc as ./configure stated 'ld was too old'.
Comment 3 Peter Fox 2015-04-25 17:20:30 UTC
This appears to have borked my system. I can't emerge anything:

>>> Emerging (1 of 1) dev-lang/python-2.7.9-r1::gentoo
 * Python-2.7.9.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                           [ ok ]
 * python-gentoo-patches-2.7.9-0.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                          [ ok ]
[Errno 38] Function not implemented:
   /usr/bin/sandbox /usr/lib/portage/python2.7/ebuild.sh unpack
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/portage/process.py", line 317, in spawn
    unshare_net, unshare_ipc, cgroup)
  File "/usr/lib/python2.7/site-packages/portage/process.py", line 503, in _exec
    os.setgid(int(gid))
  File "/usr/lib/python2.7/site-packages/portage/__init__.py", line 259, in __call__
    rval = self._func(*wrapped_args, **wrapped_kwargs)
OSError: [Errno 38] Function not implemented
 * The ebuild phase 'unpack' has exited unexpectedly. This type of behavior
 * is known to be triggered by things such as failed variable assignments
 * (bug #190128) or bad substitution errors (bug #200313). Normally, before
 * exiting, bash should have displayed an error message above. If bash did
 * not produce an error message above, it's possible that the ebuild has
 * called `exit` when it should have called `die` instead. This behavior
 * may also be triggered by a corrupt bash binary or a hardware problem
 * such as memory or cpu malfunction. If the problem is not reproducible or
 * it appears to occur randomly, then it is likely to be triggered by a
 * hardware problem. If you suspect a hardware problem then you should try
 * some basic hardware diagnostics such as memtest. Please do not report
 * this as a bug unless it is consistently reproducible and you are sure
 * that your bash binary and hardware are functioning properly.

>>> Failed to emerge dev-lang/python-2.7.9-r1, Log file:
Comment 4 Rafał Mużyło 2015-04-25 20:59:51 UTC
Well, for all the trashing, this is legit - I've just got a similar result on my x86 machine.

Back before I've rebooted, I started getting 'setresuid(0, -1, -1) function not implemented' upon 'sudo'.
It seems the whole set of those functions got broken.

I can still login if I boot into single user mode.


@reporter: could you post your system specs (at least in so far you can retrieve them) ?
Comment 5 SpanKY gentoo-dev 2015-04-26 00:22:36 UTC
please attach the full build log as well as emerge info
Comment 6 Marc Burkhardt 2015-04-26 06:56:06 UTC
According to http://upstream-tracker.org/versions/glibc.html there's minimal (effectively even more minimal) API change so the copy 2.19 binaries into the 2.20 files could work for you, too, until this is resolved.

I think I used gcc 4.8.3 at the time I compiled the package.
Comment 7 Marc Burkhardt 2015-04-26 07:04:42 UTC
Created attachment 402022 [details]
emerge --info
Comment 8 Marc Burkhardt 2015-04-26 07:07:04 UTC
(In reply to Rafał Mużyło from comment #4)
> Well, for all the trashing, this is legit - I've just got a similar result
> on my x86 machine.
> 
> Back before I've rebooted, I started getting 'setresuid(0, -1, -1) function
> not implemented' upon 'sudo'.
> It seems the whole set of those functions got broken.
> 
> I can still login if I boot into single user mode.
> 
> 
> @reporter: could you post your system specs (at least in so far you can
> retrieve them) ?

Hi Rafał,

what specs besides emerge --info do you mean? I can provide anything if you just give me more detail.

Thanks,
Marc
Comment 9 Peter Fox 2015-04-26 07:37:22 UTC
Created attachment 402024 [details]
emerge --info from one of my x86 affected machines.

This is after I downgraded glibc back to 2.19 and emerge -e system, so a few packages got updated (including gcc and binutils which were at 4.8.3 and 2.24-r3. My x86_64 machines don't seem to be affected.

I've updated binutils now due to bug 547394.
Comment 10 Marc Burkhardt 2015-04-26 07:50:49 UTC
(In reply to Peter Fox from comment #9)
> Created attachment 402024 [details]
> emerge --info from one of my x86 affected machines.
> 
> This is after I downgraded glibc back to 2.19 and emerge -e system, so a few
> packages got updated (including gcc and binutils which were at 4.8.3 and
> 2.24-r3. My x86_64 machines don't seem to be affected.
> 
> I've updated binutils now due to bug 547394.

Hi Peter,

how did you manage to downgrade glibc? I think the ebuild does not allow that. Did you downgrade 'manually' somehow?

Thanks,
Marc
Comment 11 Rafał Mużyło 2015-04-26 11:19:51 UTC
(In reply to Marc Burkhardt from comment #10)
> (In reply to Peter Fox from comment #9)
> > Created attachment 402024 [details]
> > emerge --info from one of my x86 affected machines.
> > 
> > This is after I downgraded glibc back to 2.19 and emerge -e system, so a few
> > packages got updated (including gcc and binutils which were at 4.8.3 and
> > 2.24-r3. My x86_64 machines don't seem to be affected.
> > 
> > I've updated binutils now due to bug 547394.
> 
> Hi Peter,
> 
> how did you manage to downgrade glibc? I think the ebuild does not allow
> that. Did you downgrade 'manually' somehow?
> 
> Thanks,
> Marc

ebuild doesn't - that would be not that hard to bypass, if not for that glibc is so broken that emerge is prevented even with the bypas in place.

I ended up needing to untar tinderbox tarball.

Anyway, this is a well documented problem.

On the upstream wiki page for 2.20, section 3.1.23 it's noted that gcc 4.8.3 miscompiles glibc 2.20. The linked bug supposedly affects 4.91 too.

emerging and switching to 4.8.4 allowed glibc 2.20 to be built correctly.
Comment 12 Marc Burkhardt 2015-04-26 11:35:24 UTC
Hi Rafał,

I cannot directly understand the set{g,u}id stuff being related to a compiler bug in the notes mentioned in 3.1.23 as it says it's for x86_64. I have a 32bit installation without even the ability to compile 64bit code.

I, however, have the gcc 4.8.4 compiler in place and could try building again with it later today.
Comment 13 Marc Burkhardt 2015-04-26 11:37:06 UTC
(In reply to Marc Burkhardt from comment #12)
> Hi Rafał,
> 
> I cannot directly understand the set{g,u}id stuff being related to a
> compiler bug in the notes mentioned in 3.1.23 as it says it's for x86_64. I
> have a 32bit installation without even the ability to compile 64bit code.
> 
> I, however, have the gcc 4.8.4 compiler in place and could try building
> again with it later today.

Ah, you meant 3.1.22 (twenty two) ?
Comment 14 Marc Burkhardt 2015-04-26 11:44:55 UTC
If we're really sure that gcc 4.8.3 is to blame I would suggest to immediately prevent glibc to be built with the compiler.

I cannot test if it's really the compiler as both 4.8.3 and 4.8.4 slotted in 4.8 and I don't have the time to downgrade, test and upgrade again right now.
Comment 15 Peter Fox 2015-04-26 13:16:47 UTC
In answer to comment 10, I used https://forums.gentoo.org/viewtopic-t-845000.html as a reference (steps 3-5), but then had to hack /usr/lib/python2.7/site-packages/portage/process.py to comment out the os.set*() calls on lines 503 and following.

To save searching, the glibc wiki for 2.20 is at https://sourceware.org/glibc/wiki/Release/2.20, and it does appear 3.1.22 is the relevant comment, though that appears to be cross compiling to x86 from x86_64.

I shall try upgrading glibc on one of my x86 machines now that gcc has been updated.
Comment 16 Rafał Mużyło 2015-04-26 13:31:31 UTC
(In reply to Marc Burkhardt from comment #13)
> (In reply to Marc Burkhardt from comment #12)
> > I cannot directly understand the set{g,u}id stuff being related to a
> > compiler bug in the notes mentioned in 3.1.23 as it says it's for x86_64. I
> > have a 32bit installation without even the ability to compile 64bit code.
> 
> Ah, you meant 3.1.22 (twenty two) ?

...:shrug: typos happen...
Comment 17 Rafał Mużyło 2015-04-26 13:35:08 UTC
(In reply to Peter Fox from comment #15)
> To save searching, the glibc wiki for 2.20 is at
> https://sourceware.org/glibc/wiki/Release/2.20, and it does appear 3.1.22 is
> the relevant comment, though that appears to be cross compiling to x86 from
> x86_64.
> 

In that light, I wonder if 32bit build on amd64 is affected too...
Comment 18 Peter Fox 2015-04-26 19:33:53 UTC
Building glibc-2.20 using gcc 4.8.4 seems to be ok:

# python
Python 2.7.9 (default, Apr 26 2015, 00:55:33) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.setgid(0)
>>>
Comment 19 Peter Fox 2015-04-26 19:36:50 UTC
Created attachment 402074 [details]
emerge --info for glibc-2.20 built with gcc4.8.4 etc and ok.
Comment 20 Tomas Psika 2015-04-26 21:13:52 UTC
GCCs which could be affected: 4.5.0 - 4.8.3, 4.9.0, 4.9.1

GCC 4.8.3 broke my system. No login. No simple glibc rebuild on live system possible. GCC 4.6.3 may be ok.

Recompiling glibc-2.20-r2 using -fno-var-tracking flag should resolve the problem.

More info:
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61904
Comment 21 SpanKY gentoo-dev 2015-04-27 03:23:58 UTC
bug 519172 tracked the original issue.  we backported the fix to 4.9.1 only though.  i can update glibc to reject 4.8.[0-3] and 4.9.0 until (if) we backport the fix there too.
Comment 22 SpanKY gentoo-dev 2015-04-27 03:44:38 UTC
should be all set now in the tree; thanks for the report!

Commit message: Reject gcc-4.8.[0-3] and gcc-4.9.0 due to miscompilation bugs
http://sources.gentoo.org/sys-libs/glibc/glibc-2.20-r2.ebuild?r1=1.7&r2=1.8
http://sources.gentoo.org/sys-libs/glibc/glibc-2.21.ebuild?r1=1.2&r2=1.3
Comment 23 kpanic 2015-05-01 21:57:41 UTC
>>> Emerging (3 of 53) sys-libs/glibc-2.20-r2::gentoo
 * glibc-2.20.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                                [ ok ]
 * glibc-2.20-patches-4.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                     [ ok ]
make -j2 -s glibc-test 
make -j2 -s glibc-test 
qemu: Unsupported syscall: 1000
>>> Unpacking source...
 * Checking gcc for __thread support ...                                                                                                                                                 [ ok ]
 * Checking kernel version (3.18.11 >= 2.6.32) ...                                                                                                                                       [ ok ]
 * Checking linux-headers version (3.18.0 >= 2.6.32) ...                                                                                                                                 [ ok ]
>>> Unpacking glibc-2.20.tar.xz to /var/tmp/portage/sys-libs/glibc-2.20-r2/work
>>> Unpacking glibc-2.20-patches-4.tar.bz2 to /var/tmp/portage/sys-libs/glibc-2.20-r2/work
>>> Source unpacked in /var/tmp/portage/sys-libs/glibc-2.20-r2/work
>>> Preparing source in /var/tmp/portage/sys-libs/glibc-2.20-r2/work/glibc-2.20 ...
 * Applying Gentoo Glibc Patchset 2.20-4 ...
 *   00_all_0001-disable-ldconfig-during-install.patch ...                                                                                                                               [ ok ]
 *   00_all_0002-workaround-crash-when-handling-signals-in-static-PIE.patch ...                                                                                                          [ ok ]
 *   00_all_0003-make-fortify-logic-checks-less-angry.patch ...                                                                                                                          [ ok ]
 *   00_all_0004-Fix-localedef-segfault-when-run-under-exec-shield-Pa.patch ...                                                                                                          [ ok ]
 *   00_all_0005-reload-etc-resolv.conf-when-it-has-changed.patch ...                                                                                                                    [ ok ]
 *   00_all_0006-nptl-support-thread-stacks-that-grow-up.patch ...                                                                                                                       [ ok ]
 *   00_all_0007-rtld-do-not-ignore-arch-specific-CFLAGS.patch ...                                                                                                                       [ ok ]
 *   00_all_0008-nptl-handle-EAGAIN-with-some-futex-operations.patch ...                                                                                                                 [ ok ]
 *   00_all_0009-gentoo-support-running-tests-under-sandbox.patch ...                                                                                                                    [ ok ]
 *   00_all_0010-gentoo-disable-building-in-timezone-subdir.patch ...                                                                                                                    [ ok ]
 *   00_all_0011-arm-fix-PIC-vs-SHARED-typos.patch ...                                                                                                                                   [ ok ]
 *   00_all_0012-hppa-name-setjmp-union.patch ...                                                                                                                                        [ ok ]
 *   00_all_0013-hppa-fix-build-problems-with-atomic-code.patch ...                                                                                                                      [ ok ]
 *   00_all_0014-hppa-fix-bug-in-floating-point-exception-support.patch ...                                                                                                              [ ok ]
 *   00_all_0015-hppa-fix-pthread-spinlock.patch ...                                                                                                                                     [ ok ]
 *   00_all_0016-hppa-fix-__O_SYNC-to-match-the-kernel.patch ...                                                                                                                         [ ok ]
 *   00_all_0017-disable-PIE-when-checking-for-PIC-default.patch ...                                                                                                                     [ ok ]
 *   00_all_0018-Update-Russian-translation.patch ...                                                                                                                                    [ ok ]
 *   00_all_0019-Add-new-Linux-3.16-constants-to-netinet-udp.h.patch ...                                                                                                                 [ ok ]
 *   00_all_0020-Handle-zero-prefix-length-in-getifaddrs-BZ-17371.patch ...                                                                                                              [ ok ]
 *   00_all_0021-Revert-to-defining-__extern_inline-only-for-gcc-4.3-.patch ...                                                                                                          [ ok ]
 *   00_all_0022-Fix-memory-leak-in-libio-wfileops.c-do_ftell_wide-BZ.patch ...                                                                                                          [ ok ]
 *   00_all_0023-Fix-memory-leak-in-error-path-of-do_ftell_wide-BZ-17.patch ...                                                                                                          [ ok ]
 *   00_all_0024-Update-French-translation.patch ...                                                                                                                                     [ ok ]
 *   00_all_0025-BZ-17460-Fix-buffer-overrun-in-nscd-help.patch ...                                                                                                                      [ ok ]
 *   00_all_0026-MIPS-Avoid-a-dangling-vfork-GLIBC_2.0-reference.patch ...                                                                                                               [ ok ]
 *   00_all_0027-AArch64-End-frame-record-chain-correctly.patch ...                                                                                                                      [ ok ]
 *   00_all_0028-CVE-2014-7817-wordexp-fails-to-honour-WRDE_NOCMD.patch ...                                                                                                              [ ok ]
 *   00_all_0029-arm-drop-EABI-check.patch ...                                                                                                                                           [ ok ]
 *   00_all_0030-Make-__extern_always_inline-usable-on-clang-again.patch ...                                                                                                             [ ok ]
 *   00_all_0031-CVE-2012-3406-Stack-overflow-in-vfprintf-BZ-16617.patch ...                                                                                                             [ ok ]
 *   00_all_0032-Avoid-infinite-loop-in-nss_dns-getnetbyname-BZ-17630.patch ...                                                                                                          [ ok ]
 *   00_all_0033-Move-findidx-nested-functions-to-top-level.patch ...                                                                                                                    [ ok ]
 *   00_all_0034-Fix-memory-handling-in-strxfrm_l-BZ-16009.patch ...                                                                                                                     [ ok ]
 *   00_all_0035-Use-AVX-unaligned-memcpy-only-if-AVX2-is-available.patch ...                                                                                                            [ ok ]
 *   00_all_0036-CVE-2015-1472-wscanf-allocates-too-little-memory.patch ...                                                                                                              [ ok ]
 * Done with patching
 * Using GNU config files from /usr/share/gnuconfig
 *   Updating scripts/config.sub                                                                                                                                                         [ ok ]
 *   Updating scripts/config.guess                                                                                                                                                       [ ok ]
 * You need to switch to a newer compiler; gcc-4.8.[0-3] and gcc-4.9.0 miscompile
 * glibc.  See https://bugs.gentoo.org/547420 for details.
 * ERROR: sys-libs/glibc-2.20-r2::gentoo failed (prepare phase):
 *   need to switch compilers #547420
 * 
 * Call stack:
 *     ebuild.sh, line   93:  Called src_prepare
 *   environment, line 3170:  Called eblit-run 'src_prepare'
 *   environment, line  882:  Called eblit-run-maybe 'eblit-src_prepare-post'
 *   environment, line  886:  Called eblit-src_prepare-post
 *   environment, line  907:  Called die
 * The specific snippet of code:
 *               die "need to switch compilers #547420"
 * 
 * If you need support, post the output of `emerge --info '=sys-libs/glibc-2.20-r2::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-libs/glibc-2.20-r2::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.20-r2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-libs/glibc-2.20-r2/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-libs/glibc-2.20-r2/work/glibc-2.20'
 * S: '/var/tmp/portage/sys-libs/glibc-2.20-r2/work/glibc-2.20'

[I] sys-devel/gcc
     Available versions:  
     (2.95.3) [M]~*2.95.3-r10^s
     (3.3.6) ~*3.3.6-r1^s
     (3.4.6) 3.4.6-r2^s
     (4.0.4) **4.0.4^s
     (4.1.2) 4.1.2^s
     (4.2.4) ~4.2.4-r1^s
     (4.3.6) 4.3.6-r1^s
     (4.4.7) 4.4.7^s
     (4.5.4) 4.5.4^s
     (4.6.4) 4.6.4^s
     (4.7)  ~4.7.0^s ~4.7.1^s ~4.7.2-r1^s 4.7.3-r1^s ~4.7.4^s
     (4.8)  ~4.8.0^s ~4.8.1-r1^s ~4.8.2^s 4.8.3^s ~4.8.4^s
     (4.9)  ~*4.9.0^s ~*4.9.1^s ~4.9.2^s
     (5.1)  **5.1.0^s

[U] sys-libs/glibc
     Available versions:  (2.2) 2.13-r4^s 2.14.1-r3^s 2.15-r3^s 2.16.0^s 2.17^s ~2.18-r1^s ~2.19^s 2.19-r1^s ~2.20^s ~2.20-r1^s 2.20-r2^s **2.21^s **9999^s
       {debug gd hardened multilib nscd profile selinux suid systemtap vanilla CROSSCOMPILE_OPTS="headers-only"}
     Installed versions:  2.19-r1(2.2)^s(05:03:27 25.10.2014)(-debug -gd -hardened -multilib -nscd -profile -selinux -suid -systemtap -vanilla CROSSCOMPILE_OPTS="-headers-only")
     Homepage:            http://www.gnu.org/software/libc/libc.html
     Description:         GNU libc6 (also called glibc2) C library

Portage 2.2.18 (python 3.3.5-final-0, default/linux/arm/13.0/armv6j, gcc-4.8.3, glibc-2.19-r1, 3.18.11-gentoo armv7l)
=================================================================
System uname: Linux-3.18.11-gentoo-armv7l-with-gentoo-2.2
KiB Mem:     3825352 total,    165256 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Fri, 01 May 2015 00:45:01 +0000
sh bash 4.2_p53
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.2_p53::gentoo
dev-lang/perl:            5.18.2-r2::gentoo
dev-lang/python:          2.7.7::gentoo, 3.3.5-r1::gentoo
dev-util/pkgconfig:       0.28-r1::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.12.4::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.69::gentoo
sys-devel/automake:       1.13.4::gentoo
sys-devel/binutils:       2.24-r3::gentoo
sys-devel/gcc:            4.8.3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.2-r1::gentoo
sys-devel/make:           4.0-r1::gentoo
sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers)
sys-libs/glibc:           2.19-r1::gentoo
Repositories:

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

ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="* -@EULA"
CBUILD="armv6j-hardfloat-linux-gnueabi"
CFLAGS="-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard"
CHOST="armv6j-hardfloat-linux-gnueabi"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe -march=armv6j"
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"
FFLAGS="-O2 -pipe -march=armv6j"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="ru_RU.UTF-8"
LC_ALL="ru_RU.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
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"
USE="acl alsa arm berkdb bindist bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 modules ncurses nls nptl openmp pam pcre readline session ssl tcpd unicode zlib" 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" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap omapfb dummy v4l" 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, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 24 Ryan Hill (RETIRED) gentoo-dev 2015-05-02 02:42:53 UTC
Working as intended then?
Comment 25 groepaz 2015-05-02 20:59:19 UTC
ugh, its nice that you prevent glibc from being emerged when the "broken" compiler is used - but perhaps when you stabilize it you should also stabilize a compiler that can work with it? right now this blocks updating my system here.
Comment 26 groepaz 2015-05-02 21:01:32 UTC
sorry forgot, AMD64 stable profile here
Comment 27 groepaz 2015-05-02 21:06:37 UTC
ok i see... the problem is that gcc should be updated first, then glibc. when i try to do it manually i get this:

# emerge -pv --update sys-devel/gcc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sys-devel/gcc-4.8.4:4.8::gentoo [4.8.3:4.8::gentoo] USE="cxx fortran (multilib) nls nptl openmp sanitize (-altivec) (-awt) -doc (-fixed-point) -gcj -go -graphite (-hardened) (-libssp) -mudflap (-multislot) -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla" 84.242 KiB

Total: 1 package (1 upgrade), Size of downloads: 84.242 KiB

!!! The following installed packages are masked:
- app-emulation/emul-linux-x86-xlibs-20140508::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Michał Górny <mgorny@gentoo.org> (28 Mar 2015)
# on behalf of gx86-multilib project <multilib@gentoo.org>
# Mask emul-linux-x86 packages along with unported old versions
# of reverse dependencies for removal in 60 days, bug #544876.
# Please use multilib ebuilds with abi_x86_32 instead.

- app-emulation/emul-linux-x86-db-20140508-r1::gentoo (masked by: package.mask)
- app-emulation/emul-linux-x86-opengl-20140508::gentoo (masked by: package.mask)
- app-emulation/emul-linux-x86-medialibs-20140508-r6::gentoo (masked by: package.mask)
- app-emulation/emul-linux-x86-gtklibs-20140508-r3::gentoo (masked by: package.mask)
- app-emulation/emul-linux-x86-soundlibs-20140508::gentoo (masked by: package.mask)
- app-emulation/emul-linux-x86-baselibs-20140508-r12::gentoo (masked by: package.mask)
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
Comment 28 groepaz 2015-05-02 21:23:17 UTC
args. i am stupid. sorry for the noise :=)
Comment 29 Luke-Jr 2015-05-18 22:21:59 UTC
Any reason there isn't a DEPEND for this to ensure Portage orders the updates correctly?
Comment 30 SpanKY gentoo-dev 2015-05-19 03:21:48 UTC
gcc is SLOTed and there's no guarantee that having a good version installed means that version is selected
Comment 31 Pacho Ramos gentoo-dev 2015-05-24 14:30:19 UTC
(In reply to SpanKY from comment #30)
Cannot the check be done at pkg_pretend to prevent getting the failure after I though all was ready to update? :)
Comment 32 SpanKY gentoo-dev 2015-05-26 14:32:58 UTC
(In reply to Pacho Ramos from comment #31)

there's probably no reason we can't move the pkg_setup checks to pkg_pretend.  need to make sure there's glue in place for older EAPIs, but that should be easy.
Comment 34 Pacho Ramos gentoo-dev 2015-05-27 20:37:08 UTC
Thanks vapier
Comment 35 Daniel Savard 2015-06-21 17:28:44 UTC
I just wonder if glibc-2.20 requires a gcc compiler >4.9.1 why the ebuild still only requires it to be >=4.4?

And why is glibc-2.20 is bring in for update by emerge if the prerequisites are not met? Why I do not get a message before it tries to build about the dependencies?
Comment 36 SpanKY gentoo-dev 2015-06-22 04:49:12 UTC
(In reply to Daniel Savard from comment #35)

that's not what the check does.  it requires that, if you are using 4.9.x, the x be larger than 1.  if you are using 4.4.x, then the check does not kick in.
Comment 37 Marc Burkhardt 2015-08-20 20:48:52 UTC
I just updated gcc-4.9 to 4.9.3 and got the same phenomenon again. glibc was not updated...
Comment 38 Marc Burkhardt 2015-08-20 20:51:30 UTC
<<<          dir /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include/g++-v4
<<<          dir /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include/cilk
<<<          dir /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include-fixed
<<<          dir /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include
<<<          dir /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/finclude
<<<          dir /usr/lib/debug/usr/libexec/gcc/i686-pc-linux-gnu/4.9.2/plugin
<<<          dir /usr/lib/debug/usr/libexec/gcc/i686-pc-linux-gnu/4.9.2
<<<          dir /usr/lib/debug/usr/lib/gcc/i686-pc-linux-gnu/4.9.2
<<<          dir /usr/lib/debug/usr/i686-pc-linux-gnu/gcc-bin/4.9.2
<<<          dir /usr/i686-pc-linux-gnu/gcc-bin/4.9.2
[sys-devel/gcc-4.9.2] bash: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
 * The ebuild phase 'postrm' has exited unexpectedly. This type of behavior
 * is known to be triggered by things such as failed variable assignments
 * (bug #190128) or bad substitution errors (bug #200313). Normally, before
 * exiting, bash should have displayed an error message above. If bash did
 * not produce an error message above, it's possible that the ebuild has
 * called `exit` when it should have called `die` instead. This behavior
 * may also be triggered by a corrupt bash binary or a hardware problem
 * such as memory or cpu malfunction. If the problem is not reproducible or
 * it appears to occur randomly, then it is likely to be triggered by a
 * hardware problem. If you suspect a hardware problem then you should try
 * some basic hardware diagnostics such as memtest. Please do not report
 * this as a bug unless it is consistently reproducible and you are sure
 * that your bash binary and hardware are functioning properly.
/bin/bash: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
 * The ebuild phase 'die_hooks' has exited unexpectedly. This type of
 * behavior is known to be triggered by things such as failed variable
 * assignments (bug #190128) or bad substitution errors (bug #200313).
 * Normally, before exiting, bash should have displayed an error message
 * above. If bash did not produce an error message above, it's possible
 * that the ebuild has called `exit` when it should have called `die`
 * instead. This behavior may also be triggered by a corrupt bash binary or
 * a hardware problem such as memory or cpu malfunction. If the problem is
 * not reproducible or it appears to occur randomly, then it is likely to
 * be triggered by a hardware problem. If you suspect a hardware problem
 * then you should try some basic hardware diagnostics such as memtest.
 * Please do not report this as a bug unless it is consistently
 * reproducible and you are sure that your bash binary and hardware are
 * functioning properly.
!!! FAILED postrm: 1
 * The 'postrm' phase of the 'sys-devel/gcc-4.9.2' package has failed with
 * exit value 1.
 * 
 * The problem occurred while executing the ebuild file named
 * 'gcc-4.9.2.ebuild' located in the '/var/db/pkg/sys-devel/gcc-4.9.2'
 * directory. If necessary, manually remove the environment.bz2 file and/or
 * the ebuild file located in that directory.
 * 
 * Removal of the environment.bz2 file is preferred since it may allow the
 * removal phases to execute successfully. The ebuild will be sourced and
 * the eclasses from the current portage tree will be used when necessary.
 * Removal of the ebuild file will cause the pkg_prerm() and pkg_postrm()
 * removal phases to be skipped entirely.
>>> Regenerating /etc/ld.so.cache...
sh: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
>>> Original instance of package unmerged safely.
[sys-devel/gcc-4.9.3] bash: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
 * The ebuild phase 'postinst' has exited unexpectedly. This type of
 * behavior is known to be triggered by things such as failed variable
 * assignments (bug #190128) or bad substitution errors (bug #200313).
 * Normally, before exiting, bash should have displayed an error message
 * above. If bash did not produce an error message above, it's possible
 * that the ebuild has called `exit` when it should have called `die`
 * instead. This behavior may also be triggered by a corrupt bash binary or
 * a hardware problem such as memory or cpu malfunction. If the problem is
 * not reproducible or it appears to occur randomly, then it is likely to
 * be triggered by a hardware problem. If you suspect a hardware problem
 * then you should try some basic hardware diagnostics such as memtest.
 * Please do not report this as a bug unless it is consistently
 * reproducible and you are sure that your bash binary and hardware are
 * functioning properly.
/bin/bash: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
 * The ebuild phase 'die_hooks' has exited unexpectedly. This type of
 * behavior is known to be triggered by things such as failed variable
 * assignments (bug #190128) or bad substitution errors (bug #200313).
 * Normally, before exiting, bash should have displayed an error message
 * above. If bash did not produce an error message above, it's possible
 * that the ebuild has called `exit` when it should have called `die`
 * instead. This behavior may also be triggered by a corrupt bash binary or
 * a hardware problem such as memory or cpu malfunction. If the problem is
 * not reproducible or it appears to occur randomly, then it is likely to
 * be triggered by a hardware problem. If you suspect a hardware problem
 * then you should try some basic hardware diagnostics such as memtest.
 * Please do not report this as a bug unless it is consistently
 * reproducible and you are sure that your bash binary and hardware are
 * functioning properly.
 * FAILED postinst: 1
/usr/bin/scanelf: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
<<< !needed  sym /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/libgcj-tools.so.15
<<< !needed  obj /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/libgcj-tools.so.15.0.0
<<< !needed  sym /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/libgcj.so.15
<<< !needed  obj /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/libgcj.so.15.0.0
<<< !needed  sym /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/libgij.so.15
<<< !needed  obj /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/libgij.so.15.0.0
<<< !needed  obj /usr/lib/libgit2.so.0.22.3
<<< !needed  sym /usr/lib/libgit2.so.22
<<< !needed  sym /usr/lib/libopenobex.so.1
<<< !needed  obj /usr/lib/libopenobex.so.1.4.1
/bin/bash: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
 * The ebuild phase 'other' has exited unexpectedly. This type of behavior
 * is known to be triggered by things such as failed variable assignments
 * (bug #190128) or bad substitution errors (bug #200313). Normally, before
 * exiting, bash should have displayed an error message above. If bash did
 * not produce an error message above, it's possible that the ebuild has
 * called `exit` when it should have called `die` instead. This behavior
 * may also be triggered by a corrupt bash binary or a hardware problem
 * such as memory or cpu malfunction. If the problem is not reproducible or
 * it appears to occur randomly, then it is likely to be triggered by a
 * hardware problem. If you suspect a hardware problem then you should try
 * some basic hardware diagnostics such as memtest. Please do not report
 * this as a bug unless it is consistently reproducible and you are sure
 * that your bash binary and hardware are functioning properly.
[sys-devel/gcc-4.9.3] bash: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
/bin/bash: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
 * The ebuild phase 'die_hooks' has exited unexpectedly. This type of
 * behavior is known to be triggered by things such as failed variable
 * assignments (bug #190128) or bad substitution errors (bug #200313).
 * Normally, before exiting, bash should have displayed an error message
 * above. If bash did not produce an error message above, it's possible
 * that the ebuild has called `exit` when it should have called `die`
 * instead. This behavior may also be triggered by a corrupt bash binary or
 * a hardware problem such as memory or cpu malfunction. If the problem is
 * not reproducible or it appears to occur randomly, then it is likely to
 * be triggered by a hardware problem. If you suspect a hardware problem
 * then you should try some basic hardware diagnostics such as memtest.
 * Please do not report this as a bug unless it is consistently
 * reproducible and you are sure that your bash binary and hardware are
 * functioning properly.

>>> Failed to execute postinst for sys-devel/gcc-4.9.3, Log file:

>>>  '/var/log/portage/sys-devel:gcc-4.9.3:20150820-192004.log'

>>> Emerging (2 of 2) dev-java/gcj-jdk-4.9.3::gentoo
[dev-java/gcj-jdk-4.9.3] bash: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
 * The ebuild phase 'die_hooks' has been aborted since PORTAGE_BUILDDIR
 * does not exist: '/var/tmp/portage/dev-java/gcj-jdk-4.9.3'

...
...
...
Comment 39 Marc Burkhardt 2015-08-20 20:52:37 UTC
root@marc:~ # ls
ls: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
root@marc:~ # df
df: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
root@marc:~ # lsof
lsof: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
root@marc:~ # ls
ls: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
root@marc:~ # mount
mount: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
root@marc:~ # bash
bash: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
root@marc:~ # gcc --version
gcc (Gentoo 4.8.4 p1.6, pie-0.6.1) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es
gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE ZWECKE.
Comment 40 Marc Burkhardt 2015-08-20 20:53:13 UTC
root@marc:~ # ls
ls: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
root@marc:~ # ldconfig 
root@marc:~ # ls
insgesamt 14148
1703937 drwxr-x--- 31 root root    4096 18. Aug 21:00 ./
      2 drwxr-xr-x 23 root root    4096 20. Aug 21:21 ../
1703938 drwx------  2 root root    4096  1. Apr 2012  .TrueCrypt/
Comment 41 SpanKY gentoo-dev 2015-08-20 22:38:53 UTC
(In reply to Marc Burkhardt from comment #38)
> libgcc_s.so.1: cannot open shared object file: No such file or directory

none of those errors are related to this bug
Comment 42 Marc Burkhardt 2015-08-21 05:00:04 UTC
Even if it's the same results as before? I cannot su and such anymore again... 

root@marc:~ # su - test 
setgid: Die angeforderte Funktion ist nicht implementiert
root@marc:~ # 

==> /var/log/auth.log <==
Aug 21 06:53:54 local su[27027]: + /dev/pts/4 root:test
Aug 21 06:53:54 local su[27027]: bad group ID `413' for user `test': Function not implemented