Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 640796 - (re)emerge of 'sys-libs/glibc-2.25-r9' breaks multilib functionality
Summary: (re)emerge of 'sys-libs/glibc-2.25-r9' breaks multilib functionality
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 2 votes (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-12 07:44 UTC by Mirko Guenther
Modified: 2018-04-28 21:20 UTC (History)
5 users (show)

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


Attachments
/usr/lib32 content of working GLIBC (glibc-2.25-r9-629f0962875_lib32.txt,9.62 KB, text/plain)
2017-12-12 07:46 UTC, Mirko Guenther
Details
'emerge --info' working GLIBC (info_629f0962875.txt,6.37 KB, text/plain)
2017-12-12 07:47 UTC, Mirko Guenther
Details
"lib32" content of broken GLIBC (glibc-2.25-r9-83245d6274656_lib32.txt,351 bytes, text/plain)
2017-12-12 07:48 UTC, Mirko Guenther
Details
'emerge --info' broken GLIBC (info_83245d6274656.txt,6.46 KB, text/plain)
2017-12-12 07:49 UTC, Mirko Guenther
Details
error log installing broken GLIBC (sys-libs:glibc-2.25-r9:20171212-073159.log,224 bytes, text/x-log)
2017-12-12 07:49 UTC, Mirko Guenther
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mirko Guenther 2017-12-12 07:44:42 UTC
During preparation to move to new 17.0 profile I've observed I can't re-compile the GCC. It stops with error messages try to link 64-bit *.so to 32-bit binaries.
It was also not possible to re-build packages with 'ABI_X86="64 32"'
The 32-bit build stops because it could not find a working 32-bit compiler.


After several hours comparing that system with another where compiling the GCC is working I realized, that the installed files of the GLIBC are different.

On the broken system, the complete '/usr/lib32' folder is missing.

Digging deeper it shows that right before I start to recompile the GCC the GLIBC was upgraded to 'sys-libs/glibc-2.25-r9' on the broken system.
The working system has the same GLIBC version, but an older portage-tree.

Using this tree-revision (629f0962875) on the broken system I could build a GLIBC version which includes all files in '/usr/lib32'.
Build the GLIBC with the current HEAD (83245d6274656) the files are missing again.

Something has changed in the tree which causes an incomplete GLIBC installation.
Guess it has something to do with following error message while installing the files: 

ERROR: preinst

Installation of a symlink is blocked by a directory:
  '/usr/lib/locale'
This symlink will be merged with a different name:
  '/usr/lib/locale.backup.0001'

LOG: preinst
Defaulting /etc/host.conf:multi to on
Comment 1 Mirko Guenther 2017-12-12 07:46:56 UTC
Created attachment 509574 [details]
/usr/lib32 content of working GLIBC

/usr/lib32 content of working GLIBC
Comment 2 Mirko Guenther 2017-12-12 07:47:39 UTC
Created attachment 509576 [details]
'emerge --info' working GLIBC

'emerge --info' working GLIBC
Comment 3 Mirko Guenther 2017-12-12 07:48:32 UTC
Created attachment 509578 [details]
"lib32" content of broken GLIBC

"lib32" content of broken GLIBC
Comment 4 Mirko Guenther 2017-12-12 07:49:09 UTC
Created attachment 509580 [details]
'emerge --info' broken GLIBC

'emerge --info' broken GLIBC
Comment 5 Mirko Guenther 2017-12-12 07:49:39 UTC
Created attachment 509582 [details]
error log installing broken GLIBC

error log installing broken GLIBC
Comment 6 Rick Harris 2017-12-14 23:44:57 UTC
Same problem here, multilib 32bit is broken for glibc.

Not sure but is it some foo todo with 'SYMLINK_LIB=yes setup to a 'lib32' subprofile'?

https://github.com/gentoo/gentoo/commit/6564751b2aefe115338eceaaeff1ea4505879395#diff-928058c0ccdfea0aff7eb6c937fb77be
Comment 7 Rick Harris 2017-12-15 00:23:47 UTC
Yup, confirmed that commit is the problem.

Reverting the commit and re-emerging glibc fixes 32bit building for multilib.
Comment 8 Andrey Ovcharov 2017-12-17 06:54:01 UTC
The same result for unstable sys-libs/glibc-2.26-r3. Reverting the commit and re-emerging glibc helps.
Comment 9 Sergei Trofimovich (RETIRED) gentoo-dev 2017-12-17 09:36:00 UTC
CCing author. I don't think breaking existing profiles was intended.
Comment 10 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-12-17 09:47:35 UTC
Yes, I've double-checked that existing profiles are not affected.

Are you using pure Gentoo profiles? Are you doing anything custom wrt your profile?
Comment 11 Mirko Guenther 2017-12-22 09:03:17 UTC
In Theorie not. Tried with pure amd64/13.0 and amd64/17.0 profiles
Comment 12 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-12-30 12:19:18 UTC
For completeness, could you paste (from the broken profile):

$ portageq envvar SYMLINK_LIB LIBDIR_x86

?
Comment 13 Mirko Guenther 2018-01-07 09:44:42 UTC
$ portageq envvar SYMLINK_LIB LIBDIR_x86
yes
lib32

I can't reproduce the issue even with restoring the tree to the mentioned commitment. It's strange.
Comment 14 Andreas K. Hüttel archtester gentoo-dev 2018-04-21 21:11:19 UTC
Everyone who is still affected by this, could you please attach your emerge --info ?!
Comment 15 Andreas K. Hüttel archtester gentoo-dev 2018-04-28 21:20:33 UTC
(In reply to Andreas K. Hüttel from comment #14)
> Everyone who is still affected by this, could you please attach your emerge
> --info ?!

No response... RESOLVED HEISENBUG