Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 702548 - app-portage/unsymlink-lib does not handle /usr/lib/debug/...
Summary: app-portage/unsymlink-lib does not handle /usr/lib/debug/...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Michał Górny
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-11 15:48 UTC by Richard Li
Modified: 2024-03-03 21:52 UTC (History)
0 users

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


Attachments
emerge-info (emerge-info.txt,18.32 KB, text/plain)
2019-12-11 15:51 UTC, Richard Li
Details
build.log (build.log.xz,672.88 KB, application/x-xz)
2019-12-11 15:52 UTC, Richard Li
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Li 2019-12-11 15:48:37 UTC
dev-util/valgrind says:
Valgrind will not work if glibc does not have debug symbols.
To fix this you can add splitdebug to FEATURES in make.conf.
and remerge glibc.

However, I get "internal file collisions" when I actually add FEATURES="splitdebug".

 * Package 'sys-libs/glibc-2.29-r7' has internal collisions between non-
 * identical files (located in separate directories in the installation
 * image (${D}) corresponding to merged directories in the target
 * filesystem (${ROOT})):
 * 
 *      /usr/lib/debug/usr/lib64/Mcrt1.o.debug
 *              /usr/lib/debug/usr/lib/Mcrt1.o.debug
 *              /usr/lib/debug/usr/lib64/Mcrt1.o.debug
 *                      Differences: size, content
 * 
 *      /usr/lib/debug/usr/lib64/Scrt1.o.debug
 *              /usr/lib/debug/usr/lib/Scrt1.o.debug
 *              /usr/lib/debug/usr/lib64/Scrt1.o.debug
 *                      Differences: size, content
 * 
 *      /usr/lib/debug/usr/lib64/audit/sotruss-lib.so.debug
 *              /usr/lib/debug/usr/lib/audit/sotruss-lib.so.debug
 *              /usr/lib/debug/usr/lib64/audit/sotruss-lib.so.debug
 *                      Differences: size, content
 * 


I guess this more likely is a portage issue rather than a glibc one, but not completely sure.
Comment 1 Richard Li 2019-12-11 15:51:02 UTC
Created attachment 599126 [details]
emerge-info
Comment 2 Richard Li 2019-12-11 15:52:04 UTC
Created attachment 599128 [details]
build.log
Comment 3 Sergei Trofimovich (RETIRED) gentoo-dev 2019-12-11 20:04:05 UTC
Your profile is default/linux/amd64/17.1/desktop/plasma/systemd.

Do you have /usr/lib and /usr/lib64 being different directories?

Please post your output of:
$ ls -ld /usr/lib* /lib*
Comment 4 Arfrever Frehtes Taifersar Arahesis 2019-12-11 21:23:41 UTC
I do not know if making /usr/lib/debug/usr/lib a symlink to lib64 (/usr/lib/debug/usr/lib64) was standard practice in 17.0 profiles.
In 17.1 profiles, these directories (/usr/lib/debug/usr/lib and /usr/lib/debug/usr/lib64) should certainly be separate.

You can do the following:
1. Delete /usr/lib/debug/lib symlink (if it exists as symlink).
2. Delete /usr/lib/debug/usr/lib symlink.
3. Rebuild all packages which are registered as installing /usr/lib/debug/lib or /usr/lib/debug/usr/lib. Find them using:
   $ cd /var/db/pkg
   $ grep -l /usr/lib/debug/lib/ */*/CONTENTS
   $ grep -l /usr/lib/debug/usr/lib/ */*/CONTENTS
Comment 5 Arfrever Frehtes Taifersar Arahesis 2019-12-11 22:12:14 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #4)
> You can do the following:
> 1. Delete /usr/lib/debug/lib symlink (if it exists as symlink).
> 2. Delete /usr/lib/debug/usr/lib symlink.
> 3. Rebuild all packages which are registered as installing
> /usr/lib/debug/lib or /usr/lib/debug/usr/lib. Find them using:
>    $ cd /var/db/pkg
>    $ grep -l /usr/lib/debug/lib/ */*/CONTENTS
>    $ grep -l /usr/lib/debug/usr/lib/ */*/CONTENTS

Actually it could result in orphaned files (located in /usr/lib/debug/{,usr/}lib64 but previously registered in /usr/lib/debug/{,usr/}lib), so better to delete whole /usr/lib/debug:
1. Delete /usr/lib/debug
2. Rebuild all packages registered as installing /usr/lib/debug:
   $ cd /var/db/pkg
   $ grep -l /usr/lib/debug/ */*/CONTENTS
Comment 6 Arfrever Frehtes Taifersar Arahesis 2019-12-12 01:03:13 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #5)
> 2. Rebuild all packages registered as installing /usr/lib/debug:
>    $ cd /var/db/pkg
>    $ grep -l /usr/lib/debug/ */*/CONTENTS

Simpler command:
emerge -1 /usr/lib/debug
Comment 7 Arfrever Frehtes Taifersar Arahesis 2019-12-12 01:08:10 UTC
Maintainer of app-portage/unsymlink-lib can decide if app-portage/unsymlink-lib should handle /usr/lib/debug/{,usr/}lib* or not.
Comment 8 Sergei Trofimovich (RETIRED) gentoo-dev 2019-12-12 07:32:36 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #7)
> Maintainer of app-portage/unsymlink-lib can decide if
> app-portage/unsymlink-lib should handle /usr/lib/debug/{,usr/}lib* or not.

Please file a separate bug. I'd like to focus on restoring user's system in this bug.