Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 646424 - sys-libs/glibc-2.27 breaks package compilation: /usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-32.h: No such file or directory
Summary: sys-libs/glibc-2.27 breaks package compilation: /usr/include/gnu/stubs.h:7:11...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal blocker
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-02 17:28 UTC by Helmut Jarausch
Modified: 2018-02-05 16:57 UTC (History)
2 users (show)

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


Attachments
build log for bzip2 (bzip2-1.0.6-r8.build,9.17 KB, text/plain)
2018-02-02 19:02 UTC, Helmut Jarausch
Details
build log for gcc-7.3.0 xz-compressed (gcc-7.3.0.build.xz,43.48 KB, application/octet-stream)
2018-02-02 19:03 UTC, Helmut Jarausch
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Helmut Jarausch 2018-02-02 17:28:16 UTC
With sys-libs/glibc-2.27 I cannot compile anything since most packages try to
include gnu/stubs-32.h which doesn't exist anymore.

And downgrading glibc has been inhibited.

One has to replay a recent backup - very annoying.

(Yes, glibc-2.27 is masked but it's like a bomb here)
Comment 1 Tomáš Mózes 2018-02-02 18:40:18 UTC
https://github.com/gentoo/gentoo/commit/6b78adca56668c98bb5b0fe55d999a9d8d159413

sys-libs/glibc: Version bump. Untested, unkeyworded.

Since it's masked maybe you were the first to test it.
Comment 2 Tomáš Mózes 2018-02-02 18:41:28 UTC
Can you please attach a failure log to see what's happening?
Comment 3 Helmut Jarausch 2018-02-02 19:02:05 UTC
Created attachment 517606 [details]
build log for bzip2

Having install glibc-2.27 @preserved-rebuild contains bzip2. e.g.
Furthermore trying to recompile sys-devel/gcc:7.3.0 fails because of the same problem : there is no file /usr/include/gnu/stubs-32.h
Comment 4 Helmut Jarausch 2018-02-02 19:03:55 UTC
Created attachment 517608 [details]
build log for gcc-7.3.0  xz-compressed
Comment 5 Tomáš Mózes 2018-02-02 19:50:36 UTC
Please also provide your $(emerge --info) output.
Comment 6 Tomáš Mózes 2018-02-02 19:51:32 UTC
Can you compile again if you remove the gnu/stubs-32.h include from /usr/include/gnu/stubs.h?
Comment 7 Mike Lothian 2018-02-02 21:26:32 UTC
I managed to hose one of my machine doing this too

I've built a copy of glibc-2.26-r5 with -O2 -pipe (so should work on any amd64 multilib machine)

If you extract the archive at https://drive.google.com/open?id=11uljgIIeC5tpYnzZDp-xhG4_fSdFat8G into /usr/portage/packages/

You can then:

emerge -GO1 glibc

Once it's restored you can then re-emerge glibc to use your flags again:

emerge -O1 glibc

This only works if no packages have been built against glibc-2.27 which should be the case
Comment 8 Sergei Trofimovich (RETIRED) gentoo-dev 2018-02-02 23:52:38 UTC
Can you attach emerge --info output?
Comment 9 Larry the Git Cow gentoo-dev 2018-02-03 01:18:48 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a2f034415d6e9c5c0135136b4e28698f3a15767

commit 3a2f034415d6e9c5c0135136b4e28698f3a15767
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2018-02-03 01:17:00 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2018-02-03 01:18:42 +0000

    sys-libs/glibc: unbreak installation of non-default ABIs, bug #646424
    
    multilib.eclass has a EMULTILIB_PKG="true" knob to declare package
    as multilib-compatible. This knob was lost in glibc-2.27 in commit
    e77866cf2155f9b9a74c015589f3ac95a8edc2be
    ("sys-libs/glibc: Various cleanups. Work in progress.")
    
    Closes: https://bugs.gentoo.org/646424
    Package-Manager: Portage-2.3.20, Repoman-2.3.6

 sys-libs/glibc/{glibc-2.27.ebuild => glibc-2.27-r1.ebuild} | 2 ++
 sys-libs/glibc/glibc-9999.ebuild                           | 2 ++
 2 files changed, 4 insertions(+)
Comment 10 Larry the Git Cow gentoo-dev 2018-02-03 01:38:55 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b297eb4b3b9114b1663b5affd9e3a9f0c22fedd

commit 2b297eb4b3b9114b1663b5affd9e3a9f0c22fedd
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2018-02-03 01:38:38 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2018-02-03 01:38:38 +0000

    sys-libs/glibc: restore ability to switch single->multiple ABIs
    
    To recover broken system automatically from bug #646424
    we need to skip IA32 ABI checks as those require multiabi
    glibc checks at glibc build time.
    
    There is no need to impose it as a requirement. Fail test
    only if it compiled successfully and failed at runtime.
    
    Bug: https://bugs.gentoo.org/326693
    Bug: https://bugs.gentoo.org/646424
    Package-Manager: Portage-2.3.20, Repoman-2.3.6

 sys-libs/glibc/glibc-2.27-r1.ebuild | 14 ++++++++++----
 sys-libs/glibc/glibc-9999.ebuild    | 14 ++++++++++----
 2 files changed, 20 insertions(+), 8 deletions(-)}
Comment 11 Tomas Pruzina 2018-02-04 00:58:18 UTC
Not cool folks, had to pull stage3 and manually copy /lib32 stuff to my root to get stuff compiling again. Think this is the third time I glibc broke on my box in recent years, at least this time it haven't bricked machine entirely.

Perhaps this should get masked via profile once again? I suppose that unkeyworded package comes with no assurances, but broken glibc literally breaks the entire box and I don't think users are warned strongly enough here.
Comment 12 Sergei Trofimovich (RETIRED) gentoo-dev 2018-02-04 10:59:25 UTC
(In reply to Tomas Pruzina from comment #11)
> Not cool folks, had to pull stage3 and manually copy /lib32 stuff to my root
> to get stuff compiling again.

The only thing you need to do is to sync to latest ::gentoo and emerge -1 =glibc-1.27-r1. 

> Perhaps this should get masked via profile once again?

If it does not help please file new bug (or search for similar existing ones).
Comment 13 Tomas Pruzina 2018-02-05 16:57:12 UTC
(In reply to Sergei Trofimovich from comment #12)
> The only thing you need to do is to sync to latest ::gentoo and emerge -1
> =glibc-1.27-r1. 

Sorry, wasn't descriptive enough, just ranting that I had to workaround it while rc1 wasn't out yet because I needed my 32bit stuff to work. At the time I had no idea this would get fixed/worked around in rc1 ebuild.