Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 833505 - x11-libs/libICE, x11-libs/libXdmcp: Missing [${MULTILIB_USEDEP}] for dev-libs/libbsd
Summary: x11-libs/libICE, x11-libs/libXdmcp: Missing [${MULTILIB_USEDEP}] for dev-libs...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-02-16 23:03 UTC by Arfrever Frehtes Taifersar Arahesis
Modified: 2022-02-17 07:12 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arfrever Frehtes Taifersar Arahesis 2022-02-16 23:03:40 UTC
Both x11-libs/libICE and x11-libs/libXdmcp are multilib-capable.
However they currently have only "elibc_glibc? ( dev-libs/libbsd )" dependency, without "[${MULTILIB_USEDEP}]".

If dev-libs/libbsd happens to be installed only for native ABI, while x11-libs/libICE and x11-libs/libXdmcp are built for 32-bit ABI and 64-bit ABI, then 32-bit versions of libICE.so and libXdmcp.so would not be linked against libbsd.so.0 library and would not contain undefined reference to arc4random_buf@LIBBSD_0.2 symbol.
So there is no build failure, but automagic usage of arc4random_buf() in non-native ABIs.


With dev-libs/libbsd installed only for 64-bit ABI:

$ scanelf -qyF "%F: %n" $(qlist x11-libs/libICE | sort)
/usr/lib32/libICE.so.6.3.0: libc.so.6
/usr/lib64/libICE.so.6.3.0: libbsd.so.0,libc.so.6
$ scanelf -qyF "%F: %n" $(qlist x11-libs/libXdmcp | sort)
/usr/lib32/libXdmcp.so.6.0.0: libc.so.6
/usr/lib64/libXdmcp.so.6.0.0: libbsd.so.0,libc.so.6
$ nm -D /usr/lib32/libICE.so | grep "LIBBSD_0\.2"
$ nm -D /usr/lib32/libXdmcp.so | grep "LIBBSD_0\.2"
$ nm -D /usr/lib64/libICE.so | grep "LIBBSD_0\.2"
                 U arc4random_buf@LIBBSD_0.2
$ nm -D /usr/lib64/libXdmcp.so | grep "LIBBSD_0\.2"
                 U arc4random_buf@LIBBSD_0.2


With dev-libs/libbsd installed for 32-bit ABI and 64-bit ABI:

$ scanelf -qyF "%F: %n" $(qlist x11-libs/libICE | sort)
/usr/lib32/libICE.so.6.3.0: libbsd.so.0,libc.so.6
/usr/lib64/libICE.so.6.3.0: libbsd.so.0,libc.so.6
$ scanelf -qyF "%F: %n" $(qlist x11-libs/libXdmcp | sort)
/usr/lib32/libXdmcp.so.6.0.0: libbsd.so.0,libc.so.6
/usr/lib64/libXdmcp.so.6.0.0: libbsd.so.0,libc.so.6
$ nm -D /usr/lib32/libICE.so | grep "LIBBSD_0\.2"
         U arc4random_buf@LIBBSD_0.2
$ nm -D /usr/lib32/libXdmcp.so | grep "LIBBSD_0\.2"
         U arc4random_buf@LIBBSD_0.2
$ nm -D /usr/lib64/libICE.so | grep "LIBBSD_0\.2"
                 U arc4random_buf@LIBBSD_0.2
$ nm -D /usr/lib64/libXdmcp.so | grep "LIBBSD_0\.2"
                 U arc4random_buf@LIBBSD_0.2
Comment 1 Larry the Git Cow gentoo-dev 2022-02-17 07:12:49 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93e6f5afe8bc23844c3338dc3e6b86cc61d957b6

commit 93e6f5afe8bc23844c3338dc3e6b86cc61d957b6
Author:     Matt Turner <mattst88@gentoo.org>
AuthorDate: 2022-02-17 07:11:56 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2022-02-17 07:12:13 +0000

    x11-libs/libXdmcp: Depend on multilib libbsd
    
    Closes: https://bugs.gentoo.org/833505
    Signed-off-by: Matt Turner <mattst88@gentoo.org>

 x11-libs/libXdmcp/{libXdmcp-1.1.3.ebuild => libXdmcp-1.1.3-r1.ebuild} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00ce89e76ba11145e2bb5162b1c22cdf017118d8

commit 00ce89e76ba11145e2bb5162b1c22cdf017118d8
Author:     Matt Turner <mattst88@gentoo.org>
AuthorDate: 2022-02-17 07:11:04 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2022-02-17 07:12:13 +0000

    x11-libs/libICE: Depend on multilib libbsd
    
    Closes: https://bugs.gentoo.org/833505
    Signed-off-by: Matt Turner <mattst88@gentoo.org>

 x11-libs/libICE/{libICE-1.0.10.ebuild => libICE-1.0.10-r1.ebuild} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)